From 388e7f8ffc4f6a5c37872a5e27f3503508b55f8a Mon Sep 17 00:00:00 2001 From: Junyan He Date: Mon, 1 Sep 2014 10:22:54 +0800 Subject: [PATCH] Delete all the unused files of old huge header. Signed-off-by: Junyan He Reviewed-by: Zhigang Gong --- backend/src/builtin_vector_proto.def | 295 - backend/src/gen_as.sh | 101 - backend/src/gen_builtin_vector.py | 417 - backend/src/gen_convert.sh | 553 - backend/src/genconfig.sh | 11 - backend/src/ocl_as.h | 3086 ------ backend/src/ocl_barrier.ll | 39 - backend/src/ocl_convert.h | 17415 -------------------------------- backend/src/ocl_memcpy.ll | 336 - backend/src/ocl_memset.ll | 127 - backend/src/ocl_stdlib.tmpl.h | 5158 ---------- backend/src/update.sh | 3 - backend/src/update_as.sh | 11 - backend/src/update_blob_ocl_header.py | 65 - backend/src/update_convert.sh | 12 - 15 files changed, 27629 deletions(-) delete mode 100644 backend/src/builtin_vector_proto.def delete mode 100755 backend/src/gen_as.sh delete mode 100755 backend/src/gen_builtin_vector.py delete mode 100755 backend/src/gen_convert.sh delete mode 100644 backend/src/genconfig.sh delete mode 100644 backend/src/ocl_as.h delete mode 100644 backend/src/ocl_barrier.ll delete mode 100644 backend/src/ocl_convert.h delete mode 100644 backend/src/ocl_memcpy.ll delete mode 100644 backend/src/ocl_memset.ll delete mode 100755 backend/src/ocl_stdlib.tmpl.h delete mode 100755 backend/src/update.sh delete mode 100755 backend/src/update_as.sh delete mode 100755 backend/src/update_blob_ocl_header.py delete mode 100755 backend/src/update_convert.sh diff --git a/backend/src/builtin_vector_proto.def b/backend/src/builtin_vector_proto.def deleted file mode 100644 index 18d23ca..0000000 --- a/backend/src/builtin_vector_proto.def +++ /dev/null @@ -1,295 +0,0 @@ -##math -gentype acos (gentype) -gentype acosh (gentype) -gentype acospi (gentype x) -gentype asin (gentype) -gentype asinh (gentype) -gentype asinpi (gentype x) -gentype atan (gentype y_over_x) -gentype atan2 (gentype y, gentype x) -gentype atanh (gentype) -gentype atanpi (gentype x) -gentype atan2pi (gentype y, gentype x) -gentype cbrt (gentype) -gentype ceil (gentype) -gentype copysign (gentype x, gentype y) -gentype cos (gentype) -gentype cosh (gentype) -gentype cospi (gentype x) -gentype erfc (gentype) -gentype erf (gentype) -gentype exp (gentype x) -gentype exp2 (gentype) -gentype exp10 (gentype) -gentype expm1 (gentype x) -gentype fabs (gentype) -gentype fdim (gentype x, gentype y) -gentype floor (gentype) -# XXX we use madd for fma -#gentype fma (gentype a, gentype b, gentype c) -gentype fmax (gentype x, gentype y) -gentypef fmax (gentypef x, float y) -gentyped fmax (gentyped x, double y) -gentype fmin (gentype x, gentype y) -gentypef fmin (gentypef x, float y) -gentyped fmin (gentyped x, double y) -gentype fmod (gentype x, gentype y) -gentype fract (gentype x, __global gentype *iptr) -gentype fract (gentype x, __local gentype *iptr) -gentype fract (gentype x, __private gentype *iptr) -floatn frexp (floatn x, __global intn *exp) -floatn frexp (floatn x, __local intn *exp) -floatn frexp (floatn x, __private intn *exp) -float frexp (float x, __global int *exp) -float frexp (float x, __local int *exp) -float frexp (float x, __private int *exp) -doublen frexp (doublen x, __global intn *exp) -doublen frexp (doublen x, __local intn *exp) -doublen frexp (doublen x, __private intn *exp) -double frexp (double x, __global int *exp) -double frexp (double x, __local int *exp) -double frexp (double x, __private int *exp) -gentype hypot (gentype x, gentype y) -intn ilogb (floatn x) -int ilogb (float x) -intn ilogb (doublen x) -int ilogb (double x) -floatn ldexp (floatn x, intn k) -floatn ldexp (floatn x, int k) -float ldexp (float x, int k) -doublen ldexp (doublen x, intn k) -doublen ldexp (doublen x, int k) -double ldexp (double x, int k) -gentype lgamma (gentype x) -floatn lgamma_r (floatn x, __global intn *signp) -floatn lgamma_r (floatn x, __local intn *signp) -floatn lgamma_r (floatn x, __private intn *signp) -float lgamma_r (float x, __global int *signp) -float lgamma_r (float x, __local int *signp) -float lgamma_r (float x, __private int *signp) -#doublen lgamma_r (doublen x, __global intn *signp) -#doublen lgamma_r (doublen x, __local intn *signp) -#doublen lgamma_r (doublen x, __private intn *signp) -#double lgamma_r (double x, __global int *signp) -#double lgamma_r (double x, __local int *signp) -#double lgamma_r (double x, __private int *signp) -gentype log (gentype) -gentype log2 (gentype) -gentype log10 (gentype) -gentype log1p (gentype x) -gentype logb (gentype x) -gentype mad (gentype a, gentype b, gentype c) -gentype maxmag (gentype x, gentype y) -gentype minmag (gentype x, gentype y) -gentype modf (gentype x, __global gentype *iptr) -gentype modf (gentype x, __local gentype *iptr) -gentype modf (gentype x, __private gentype *iptr) -floatn nan (uintn nancode) -float nan (uint nancode) -doublen nan (ulongn nancode) -double nan (ulong nancode) -gentype nextafter (gentype x, gentype y) -gentype pow (gentype x, gentype y) -floatn pown (floatn x, intn y) -float pown (float x, int y) -doublen pown (doublen x, intn y) -double pown (double x, int y) -#XXX we define powr as pow -#gentype powr (gentype x, gentype y) -gentype remainder (gentype x, gentype y) -floatn remquo (floatn x, floatn y, __global intn *quo) -floatn remquo (floatn x, floatn y, __local intn *quo) -floatn remquo (floatn x, floatn y, __private intn *quo) -float remquo (float x, float y, __global int *quo) -float remquo (float x, float y, __local int *quo) -float remquo (float x, float y, __private int *quo) -doublen remquo (doublen x, doublen y, __global intn *quo) -doublen remquo (doublen x, doublen y, __local intn *quo) -doublen remquo (doublen x, doublen y, __private intn *quo) -double remquo (double x, double y, __global int *quo) -double remquo (double x, double y, __local int *quo) -double remquo (double x, double y, __private int *quo) -gentype rint (gentype) -floatn rootn (floatn x, intn y) - -doublen rootn (doublen x, intn y) -doublen rootn (double x, int y) -gentype round (gentype x) -gentype rsqrt (gentype) -gentype sin (gentype) -gentype sincos (gentype x, __global gentype *cosval) -gentype sincos (gentype x, __local gentype *cosval) -gentype sincos (gentype x, __private gentype *cosval) -gentype sinh (gentype) -gentype sinpi (gentype x) -gentype sqrt (gentype) -gentype tan (gentype) -gentype tanh (gentype) -gentype tanpi (gentype x) -gentype tgamma (gentype) -gentype trunc (gentype) - -##math function fast path -gentype __gen_ocl_internal_fastpath_acosh (gentype x) -gentype __gen_ocl_internal_fastpath_asinh (gentype x) -gentype __gen_ocl_internal_fastpath_atanh (gentype x) -gentype __gen_ocl_internal_fastpath_cbrt (gentype x) -gentype __gen_ocl_internal_fastpath_cos (gentype x) -gentype __gen_ocl_internal_fastpath_cosh (gentype x) -gentype __gen_ocl_internal_fastpath_cospi (gentype x) -gentype __gen_ocl_internal_fastpath_exp (gentype x) -gentype __gen_ocl_internal_fastpath_exp10 (gentype x) -gentype __gen_ocl_internal_fastpath_expm1 (gentype x) -gentype __gen_ocl_internal_fastpath_fmod (gentype x, gentype y) -gentype __gen_ocl_internal_fastpath_hypot (gentype x, gentype y) -intn __gen_ocl_internal_fastpath_ilogb (floatn x) -int __gen_ocl_internal_fastpath_ilogb (float x) -intn __gen_ocl_internal_fastpath_ilogb (doublen x) -int __gen_ocl_internal_fastpath_ilogb (double x) -floatn __gen_ocl_internal_fastpath_ldexp (floatn x, intn k) -floatn __gen_ocl_internal_fastpath_ldexp (floatn x, int k) -float __gen_ocl_internal_fastpath_ldexp (float x, int k) -doublen __gen_ocl_internal_fastpath_ldexp (doublen x, intn k) -doublen __gen_ocl_internal_fastpath_ldexp (doublen x, int k) -double __gen_ocl_internal_fastpath_ldexp (double x, int k) -gentype __gen_ocl_internal_fastpath_log (gentype x) -gentype __gen_ocl_internal_fastpath_log2 (gentype x) -gentype __gen_ocl_internal_fastpath_log10 (gentype x) -gentype __gen_ocl_internal_fastpath_log1p (gentype x) -gentype __gen_ocl_internal_fastpath_logb (gentype x) -gentype __gen_ocl_internal_fastpath_remainder (gentype x, gentype y) -floatn __gen_ocl_internal_fastpath_rootn (floatn x, intn k) -gentype __gen_ocl_internal_fastpath_sin (gentype x) -gentype __gen_ocl_internal_fastpath_sincos (gentype x, __global gentype *cosval) -gentype __gen_ocl_internal_fastpath_sincos (gentype x, __local gentype *cosval) -gentype __gen_ocl_internal_fastpath_sincos (gentype x, __private gentype *cosval) -gentype __gen_ocl_internal_fastpath_sinh (gentype x) -gentype __gen_ocl_internal_fastpath_sinpi (gentype x) -gentype __gen_ocl_internal_fastpath_tan (gentype x) -gentype __gen_ocl_internal_fastpath_tanh (gentype x) - -##half_native_math -#gentype half_cos (gentype x) -#gentype half_divide (gentype x, gentype y) -#gentype half_exp (gentype x) -#gentype half_exp2 (gentype x) -#gentype half_exp10 (gentype x) -#gentype half_log (gentype x) -#gentype half_log2 (gentype x) -#gentype half_log10 (gentype x) -#gentype half_powr (gentype x, gentype y) -#gentype half_recip (gentype x) -#gentype half_rsqrt (gentype x) -#gentype half_sin (gentype x) -#gentype half_sqrt (gentype x) -#gentype half_tan (gentype x) - -# XXX we already defined all native and non-native -# functions to the same one. -gentype native_cos (gentype x) -gentype native_divide (gentype x, gentype y) -gentype native_exp (gentype x) -#gentype native_exp2 (gentype x) -gentype native_exp10 (gentype x) -gentype native_log (gentype x) -gentype native_log2 (gentype x) -gentype native_log10 (gentype x) -gentype native_powr (gentype x, gentype y) -gentype native_recip (gentype x) -gentype native_rsqrt (gentype x) -gentype native_sin (gentype x) -#gentype native_sqrt (gentype x) -gentype native_tan (gentype x) - -##integer -ugentype abs (gentype x) -ugentype abs_diff (gentype x, gentype y) -gentype add_sat (gentype x, gentype y) -gentype hadd (gentype x, gentype y) -gentype rhadd (gentype x, gentype y) -gentype clamp (gentype x, gentype minval, gentype maxval) -gentype clamp (gentype x, sgentype minval, sgentype maxval) -gentype clz (gentype x) -gentype mad_hi (gentype a, gentype b, gentype c) -gentype mad_sat (gentype a, gentype b, gentype c) -gentype max (gentype x, gentype y) -gentype max (gentype x, sgentype y) -gentype min (gentype x, gentype y) -gentype min (gentype x, sgentype y) -gentype mul_hi (gentype x, gentype y) -gentype rotate (gentype v, gentype i) -gentype sub_sat (gentype x, gentype y) -shortn upsample (charn hi, ucharn lo) -ushortn upsample (ucharn hi, ucharn lo) -intn upsample (shortn hi, ushortn lo) -uintn upsample (ushortn hi, ushortn lo) -longn upsample (intn hi, uintn lo) -ulongn upsample (uintn hi, uintn lo) -# XXX not implemented -#gentype popcount (gentype x) - -##fast_integer -gentype mad24 (gentype x, gentype y, gentype z) -gentype mul24 (gentype x, gentype y) - -##common -gentype clamp (gentype x, gentype minval, gentype maxval) -gentypef clamp (gentypef x, float minval, float maxval) -gentyped clamp (gentyped x, double minval, double maxval) -gentype degrees (gentype radians) -gentype max (gentype x, gentype y) -gentypef max (gentypef x, float y) -gentyped max (gentyped x, double y) -gentype min (gentype x, gentype y) -gentypef min (gentypef x, float y) -gentyped min (gentyped x, double y) -gentype mix (gentype x, gentype y, gentype a) -gentypef mix (gentypef x, gentypef y, float a) -gentyped mix (gentyped x, gentyped y, double a) -gentype radians (gentype degrees) -gentype step (gentype edge, gentype x) -gentypef step (float edge, gentypef x) -gentyped step (double edge, gentyped x) -gentype smoothstep (gentype edge0, gentype edge1, gentype x) -gentypef smoothstep (float edge0, float edge1, gentypef x) -gentyped smoothstep (double edge0, double edge1, gentyped x) -gentype sign (gentype x) - -##relational -intn isequal (floatn x, floatn y) -longn isequal (doublen x, doublen y) -intn isnotequal (floatn x, floatn y) -longn isnotequal (doublen x, doublen y) -intn isgreater (floatn x, floatn y) -longn isgreater (doublen x, doublen y) -intn isgreaterequal (floatn x, floatn y) -longn isgreaterequal (doublen x, doublen y) -intn isless (floatn x, floatn y) -longn isless (doublen x, doublen y) -intn islessequal (floatn x, floatn y) -longn islessequal (doublen x, doublen y) -intn islessgreater (floatn x, floatn y) -longn islessgreater (doublen x, doublen y) -intn isfinite (floatn -longn isfinite (doublen) -intn isinf (floatn) -longn isinf (doublen) -intn isnan (floatn) -longn isnan (doublen) -intn isnormal (floatn) -longn isnormal (doublen) -intn isordered (floatn x, floatn y) -longn isordered (doublen x, doublen y) -intn isunordered (floatn x, floatn y) -longn isunordered (doublen x, doublen y) -intn signbit (floatn) -longn signbit (doublen) -int any (igentype x) -int all (igentype x) -gentype bitselect (gentype a, gentype b, gentype c) -gentype select (gentype a, gentype b, igentype c) -gentype select (gentype a, gentype b, ugentype c) - -##misc -#gentypen shuffle (gentypem x, ugentypen mask) -#gentypen shuffle2 (gentypem x, gentypem y, ugentypen mask) diff --git a/backend/src/gen_as.sh b/backend/src/gen_as.sh deleted file mode 100755 index 7dea15d..0000000 --- a/backend/src/gen_as.sh +++ /dev/null @@ -1,101 +0,0 @@ -#! /bin/sh -e - -. ./genconfig.sh - -# Generate list of union sizes -for type in $TYPES; do - size=`IFS=:; set -- dummy $type; echo $3` - for vector_length in $VECTOR_LENGTHS; do - if test $vector_length -eq 3; then - continue; - fi - union_sizes="$union_sizes `expr $vector_length \* $size`" - done -done -union_sizes="`echo $union_sizes | tr ' ' '\n' | sort -n | uniq`" - -# For each union size -for union_size in $union_sizes; do - - # Define an union that contains all vector types that have the same size as the union - unionname="union _type_cast_${union_size}_b" - echo "$unionname {" - for type in $TYPES; do - basetype=`IFS=:; set -- dummy $type; echo $2` - basesize=`IFS=:; set -- dummy $type; echo $3` - for vector_length in $VECTOR_LENGTHS; do - if test $vector_length -eq 3; then - vector_size_length="4" - else - vector_size_length=$vector_length; - fi - vector_size_in_union="`expr $vector_size_length \* $basesize`" - if test $union_size -ne $vector_size_in_union; then - continue - fi - if test $vector_length -eq 1; then - vectortype=$basetype - else - vectortype=$basetype$vector_length - fi - echo " $vectortype _$vectortype;" - done - - done - echo "};" - echo - - # For each tuple of vector types that has the same size as the current union size, - # define an as_* function that converts types without changing binary representation. - for ftype in $TYPES; do - fbasetype=`IFS=:; set -- dummy $ftype; echo $2` - fbasesize=`IFS=:; set -- dummy $ftype; echo $3` - for fvector_length in $VECTOR_LENGTHS; do - if test $fvector_length -eq 3; then - fvector_size_length="4" - else - fvector_size_length=$fvector_length; - fi - fvector_size_in_union="`expr $fvector_size_length \* $fbasesize`" - if test $union_size -ne $fvector_size_in_union; then - continue - fi - if test $fvector_length -eq 1; then - fvectortype=$fbasetype - else - fvectortype=$fbasetype$fvector_length - fi - for ttype in $TYPES; do - tbasetype=`IFS=:; set -- dummy $ttype; echo $2` - tbasesize=`IFS=:; set -- dummy $ttype; echo $3` - if test $fbasetype = $tbasetype; then - continue - fi - for tvector_length in $VECTOR_LENGTHS; do - if test $tvector_length -eq 3; then - tvector_size_length="4" - else - tvector_size_length=$tvector_length; - fi - tvector_size_in_union="`expr $tvector_size_length \* $tbasesize`" - if test $union_size -ne $tvector_size_in_union; then - continue - fi - if test $tvector_length -eq 1; then - tvectortype=$tbasetype - else - tvectortype=$tbasetype$tvector_length - fi - echo "INLINE OVERLOADABLE $tvectortype as_$tvectortype($fvectortype v) {" - echo " $unionname u;" - echo " u._$fvectortype = v;" - echo " return u._$tvectortype;" - echo "}" - echo - done - done - done - - done - -done diff --git a/backend/src/gen_builtin_vector.py b/backend/src/gen_builtin_vector.py deleted file mode 100755 index dd530a0..0000000 --- a/backend/src/gen_builtin_vector.py +++ /dev/null @@ -1,417 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (C) 2012 Intel Corporation -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library. If not, see . -# -# Author: Zhigang Gong -#/ - -# This file is to generate inline code to lower down those builtin -# vector functions to scalar functions. -import re -import sys -import os - -if len(sys.argv) != 3: - print "Invalid argument {0}".format(sys.argv) - print "use {0} spec_file_name output_file_name".format(sys.argv[0]) - raise - -all_vector = 1,2,3,4,8,16 - -# generate generic type sets -def gen_vector_type(type_set, vector_set = all_vector): - ret = [] - for t in type_set: - for i in vector_set: - ret.append((t, i)) - return ret - -def set_vector_memspace(vector_type_set, memspace): - ret = [] - if memspace == '': - return vector_type_set - for t in vector_type_set: - ret.append((t[0], t[1], memspace)) - return ret - -# if we have 3 elements in the type tuple, we are a pointer with a memory space type -# at the third element. -def isPointer(t): - return len(t) == 3 - -all_itype = "char","short","int","long" -all_utype = "uchar","ushort","uint","ulong" -all_int_type = all_itype + all_utype - -all_float_type = "float","double" -all_type = all_int_type + all_float_type - -# all vector/scalar types -for t in all_type: - exec "{0}n = [\"{0}n\", gen_vector_type([\"{0}\"])]".format(t) - exec "s{0} = [\"{0}\", gen_vector_type([\"{0}\"], [1])]".format(t) - -# Predefined type sets according to the Open CL spec. -math_gentype = ["math_gentype", gen_vector_type(all_float_type)] -math_gentypef = ["math_gentypef", gen_vector_type(["float"])] -math_gentyped = ["math_gentyped", gen_vector_type(["double"])] - -half_native_math_gentype = ["half_native_math_gentype", gen_vector_type(["float"])] - -integer_gentype = ["integer_gentype", gen_vector_type(all_int_type)] -integer_ugentype = ["integer_ugentype", gen_vector_type(all_utype)] -integer_sgentype = ["integer_sgentype", gen_vector_type(all_int_type, [1])] - -fast_integer_gentype = ["fast_integer_gentype", gen_vector_type(["uint", "int"])] - -common_gentype = ["common_gentype", gen_vector_type(all_float_type)] -common_gentypef = ["common_gentypef", gen_vector_type(["float"])] -common_gentyped = ["common_gentyped", gen_vector_type(["double"])] - -relational_gentype = ["relational_gentype", gen_vector_type(all_type)] -relational_igentype = ["relational_igentype", gen_vector_type(all_itype)] -relational_ugentype = ["relational_ugentype", gen_vector_type(all_utype)] - -misc_gentypem = ["misc_gentypem", gen_vector_type(all_type, [2, 4, 8, 16])] -misc_gentypen = ["misc_gentypen", gen_vector_type(all_type, [2, 4, 8, 16])] -misc_ugentypem = ["misc_ugentypem", gen_vector_type(all_utype, [2, 4, 8, 16])] -misc_ugentypen = ["misc_ugentypen", gen_vector_type(all_utype, [2, 4, 8, 16])] - -all_predefined_type = math_gentype, math_gentypef, math_gentyped, \ - half_native_math_gentype, integer_gentype,integer_sgentype,\ - integer_ugentype, charn, ucharn, shortn, ushortn, intn, \ - uintn, longn, ulongn, floatn, doublen, \ - fast_integer_gentype, common_gentype, common_gentypef, \ - common_gentyped, relational_gentype, relational_igentype, \ - relational_ugentype, schar, suchar, sshort, sint, suint, \ - slong, sulong, sfloat, sdouble, misc_gentypem, \ - misc_ugentypem, misc_gentypen, misc_ugentypen - -# type dictionary contains all the predefined type sets. -type_dict = {} - -for t in all_predefined_type: - type_dict.update({t[0]:t[1]}) - -def _prefix(prefix, dtype): - if dtype.count("gentype") != 0: - return prefix + '_' + dtype - return dtype - -memspaces = ["__local ", "__private ", "__global "] - -def stripMemSpace(t): - if t[0:2] == '__': - for memspace in memspaces : - if t[0:len(memspace)] == memspace: - return memspace, t[len(memspace):] - return '', t - -def check_type(types): - for t in types: - memspace, t = stripMemSpace(t) - if not t in type_dict: - print t - raise "found invalid type." - -def match_unsigned(dtype): - if dtype[0] == 'float': - return ["uint", dtype[1]] - if dtype[0] == 'double': - return ["ulong", dtype[1]] - if dtype[0][0] == 'u': - return dtype - return ['u' + dtype[0], dtype[1]] - -def match_signed(dtype): - if dtype[0] == 'float': - return ["int", dtype[1]] - if dtype[0] == 'double': - return ["long", dtype[1]] - if dtype[0][0] != 'u': - return dtype - return [dtype[0][1:], dtype[1]] - -def match_scalar(dtype): - return [dtype[0], 1] - -# The dstType is the expected type, srcType is -# the reference type. Sometimes, the dstType and -# srcType are different. We need to fix this issue -# and return correct dst type. -def fixup_type(dstType, srcType, n): - if dstType == srcType: - return dstType[n] - - if dstType != srcType: - # scalar dst type - if len(dstType) == 1: - return dstType[0] - # dst is not scalar bug src is scalar - if len(srcType) == 1: - return dstType[n] - if dstType == integer_sgentype[1] and srcType == integer_gentype[1]: - return match_scalar(srcType[n]) - - if dstType == integer_gentype[1] and \ - (srcType == integer_sgentype[1] or \ - srcType == integer_ugentype[1]): - return dstType[n] - - if dstType == integer_ugentype[1] and srcType == integer_gentype[1]: - return match_unsigned(srcType[n]) - - if dstType == relational_igentype[1] and srcType == relational_gentype[1]: - return match_signed(srcType[n]) - if dstType == relational_ugentype[1] and srcType == relational_gentype[1]: - return match_unsigned(srcType[n]) - - if dstType == relational_gentype[1] and \ - (srcType == relational_igentype[1] or \ - srcType == relational_ugentype[1]): - return dstType[n] - - if (len(dstType) == len(srcType)): - return dstType[n] - - print dstType, srcType - raise "type mispatch" - -class builtinProto(): - valueTypeStr = "" - functionName = "" - paramTypeStrs = [] - paramCount = 0 - outputStr = [] - prefix = "" - - def init(self, sectionHeader, sectionPrefix): - self.valueTypeStr = "" - self.functionName = "" - self.paramTypeStrs = [] - self.paramCount = 0 - if sectionHeader != "": - self.outputStr = [sectionHeader] - else: - self.outputStr = [] - if sectionPrefix != "": - self.prefix = sectionPrefix - self.indent = 0 - - def append(self, line, nextInit = ""): - self.outputStr.append(line); - return nextInit; - - def indentSpace(self): - ret = "" - for i in range(self.indent): - ret += ' ' - - return ret - - def init_from_line(self, t): - self.append('//{0}'.format(t)) - line = filter(None, re.split(',| |\(', t.rstrip(')\n'))) - self.paramCount = 0 - stripped = 0 - memSpace = '' - for i, text in enumerate(line): - idx = i - stripped - if idx == 0: - self.valueTypeStr = _prefix(self.prefix, line[i]) - continue - - if idx == 1: - self.functionName = line[i]; - continue - - if idx % 2 == 0: - if line[i][0] == '(': - tmpType = line[i][1:] - else: - tmpType = line[i] - if tmpType == '__local' or \ - tmpType == '__private' or \ - tmpType == '__global': - memSpace = tmpType + ' ' - stripped += 1 - continue - self.paramTypeStrs.append(memSpace + _prefix(self.prefix, tmpType)) - memSpace = '' - self.paramCount += 1 - - def gen_proto_str_1(self, vtypeSeq, ptypeSeqs, i): - for n in range(0, self.paramCount): - ptype = fixup_type(ptypeSeqs[n], vtypeSeq, i); - vtype = fixup_type(vtypeSeq, ptypeSeqs[n], i); - # XXX FIXME now skip all double vector, as we don't - # defined those scalar version's prototype. - if ptype[0].find('double') != -1 or \ - vtype[0].find('double') != -1: - return - - if (n == 0): - formatStr = 'INLINE_OVERLOADABLE {0}{1} {2} ('.format(vtype[0], vtype[1], self.functionName) - else: - formatStr += ', ' - - if vtype[1] == 1: - return - - if isPointer(ptype): - formatStr += ptype[2] - pointerStr = '*' - else: - pointerStr = '' - - if ptype[1] != 1: - formatStr += '{0}{1} {2}param{3}'.format(ptype[0], ptype[1], pointerStr, n) - else: - formatStr += '{0} {1}param{2}'.format(ptype[0], pointerStr, n) - - formatStr += ')' - if self.functionName != 'select' and ptypeSeqs[0] == ptypeSeqs[self.paramCount-1] and ptype[1] > 4: - formatStr += '\n{ \n union{' - formatStr = self.append(formatStr, ' {0} va[{1}];'.format(vtype[0], vtype[1])) - formatStr = self.append(formatStr, ' {0}{1} vv{2};'.format(vtype[0], vtype[1], vtype[1])) - formatStr += '\n }uret;' - formatStr += '\n union{' - formatStr = self.append(formatStr, ' {0} pa[{1}];'.format(ptype[0], ptype[1])) - formatStr = self.append(formatStr, ' {0}{1} pv{2};'.format(ptype[0], ptype[1], ptype[1])) - formatStr += '\n }' - for n in range(0, self.paramCount): - formatStr += 'usrc{0}'.format(n) - if n+1 != self.paramCount: - formatStr +=', ' - formatStr += ';' - - for n in range(0, self.paramCount): - formatStr = self.append(formatStr, ' usrc{0}.pv{1} = param{2};'.format(n, ptype[1], n)) - formatStr = self.append(formatStr, ' for(int i =0; i < {0}; i++)'.format(ptype[1])) - formatStr += '\n uret.va[i] = ' - if self.prefix == 'relational' and self.functionName != 'bitselect' and self.functionName != 'select': - formatStr += '-' - formatStr += '{0}('.format(self.functionName) - - for n in range(0, self.paramCount): - formatStr += 'usrc{0}.pa[i]'.format(n) - if n+1 != self.paramCount: - formatStr +=', ' - formatStr += ');' - formatStr = self.append(formatStr, ' return uret.vv{0};'.format(vtype[1])) - formatStr += '\n}' - formatStr = self.append(formatStr) - return formatStr - else: - formatStr = self.append(formatStr, '{{return ({0}{1})('.format(vtype[0], vtype[1])) - self.indent = len(formatStr) - for j in range(0, vtype[1]): - if (j != 0): - formatStr += ',' - if (j + 1) % 2 == 0: - formatStr += ' ' - if j % 2 == 0: - formatStr = self.append(formatStr, self.indentSpace()) - - if self.prefix == 'relational' and self.functionName != 'bitselect' and self.functionName != 'select': - formatStr += '-' - formatStr += '{0}('.format(self.functionName) - for n in range(0, self.paramCount): - if n != 0: - formatStr += ', ' - - ptype = fixup_type(ptypeSeqs[n], vtypeSeq, i) - vtype = fixup_type(vtypeSeq, ptypeSeqs[n], i) - if vtype[1] != ptype[1]: - if ptype[1] != 1: - raise "parameter is not a scalar but has different width with result value." - if isPointer(ptype): - formatStr += '&' - formatStr += 'param{0}'.format(n) - continue - - if (isPointer(ptype)): - formatStr += '({0} {1} *)param{2} + {3:2d}'.format(ptype[2], ptype[0], n, j) - else: - if (self.functionName == 'select' and n == 2): - formatStr += '({0})(param{1}.s{2:X} & (({0})1 << (sizeof({0})*8 - 1)))'.format(ptype[0], n, j) - else: - formatStr += 'param{0}.s{1:X}'.format(n, j) - - formatStr += ')' - - formatStr += '); }\n' - self.append(formatStr) - - return formatStr - - def output(self): - for line in self.outputStr: - print line - - def output(self, outFile): - for line in self.outputStr: - outFile.write('{0}\n'.format(line)) - - def gen_proto_str(self): - check_type([self.valueTypeStr] + self.paramTypeStrs) - vtypeSeq = type_dict[self.valueTypeStr] - ptypeSeqs = [] - count = len(vtypeSeq); - for t in self.paramTypeStrs: - memspace,t = stripMemSpace(t) - ptypeSeqs.append(set_vector_memspace(type_dict[t], memspace)) - count = max(count, len(type_dict[t])) - - for i in range(count): - formatStr = self.gen_proto_str_1(vtypeSeq, ptypeSeqs, i) - - self.append("") - -def safeUnlink(filename): - try: - os.remove(filename) - except OSError: - pass - -# save the prototypes into ocl_vector.h -specFile = open(sys.argv[1], 'r') -headerFileName = sys.argv[2] -tempHeaderFileName = sys.argv[2] + '.tmp' -safeUnlink(headerFileName) -tempHeader = open(tempHeaderFileName, 'w') - -tempHeader.write("//This file is autogenerated by {0}.\n".format(sys.argv[0])) -tempHeader.write("//Don't modify it manually.\n") - -functionProto = builtinProto() -for line in specFile: - if line.isspace(): - continue - if line[0] == '#': - if line[1] == '#': - sectionHeader = "//{0} builtin functions".format(line[2:].rstrip()) - sectionPrefix=(line[2:].split())[0] - continue - functionProto.init(sectionHeader, sectionPrefix) - sectionHeader = "" - setionPrefix = "" - functionProto.init_from_line(line) - functionProto.gen_proto_str() - functionProto.output(tempHeader) - -tempHeader.close() -os.rename(tempHeaderFileName, headerFileName) diff --git a/backend/src/gen_convert.sh b/backend/src/gen_convert.sh deleted file mode 100755 index b940222..0000000 --- a/backend/src/gen_convert.sh +++ /dev/null @@ -1,553 +0,0 @@ -#! /bin/sh -e - -. ./genconfig.sh - -# For all vector lengths and types, generate conversion functions -for vector_length in $VECTOR_LENGTHS; do - if test $vector_length -eq 1; then - for ftype in $TYPES; do - fbasetype=`IFS=:; set -- dummy $ftype; echo $2` - for ttype in $TYPES; do - tbasetype=`IFS=:; set -- dummy $ttype; echo $2` - echo "INLINE OVERLOADABLE $tbasetype convert_$tbasetype($fbasetype v) {" - echo " return ($tbasetype)v;" - echo "}" - echo - done - done - else - for ftype in $TYPES; do - fbasetype=`IFS=:; set -- dummy $ftype; echo $2` - for ttype in $TYPES; do - tbasetype=`IFS=:; set -- dummy $ttype; echo $2` - if test $fbasetype = $tbasetype; then - if test $vector_length -gt 1; then - fvectortype=$fbasetype$vector_length - tvectortype=$tbasetype$vector_length - echo "INLINE OVERLOADABLE $tvectortype convert_$tvectortype($fvectortype v) { return v; }" - else - echo "INLINE OVERLOADABLE $tbasetype convert_$tbasetype($fbasetype v) { return v; }" - fi - continue - fi - fvectortype=$fbasetype$vector_length - tvectortype=$tbasetype$vector_length - construct="($tbasetype)(v.s0)" - if test $vector_length -gt 1; then - construct="$construct, ($tbasetype)(v.s1)" - fi - if test $vector_length -gt 2; then - construct="$construct, ($tbasetype)(v.s2)" - fi - if test $vector_length -gt 3; then - construct="$construct, ($tbasetype)(v.s3)" - fi - if test $vector_length -gt 4; then - construct="$construct, ($tbasetype)(v.s4)" - construct="$construct, ($tbasetype)(v.s5)" - construct="$construct, ($tbasetype)(v.s6)" - construct="$construct, ($tbasetype)(v.s7)" - fi - if test $vector_length -gt 8; then - construct="$construct, ($tbasetype)(v.s8)" - construct="$construct, ($tbasetype)(v.s9)" - construct="$construct, ($tbasetype)(v.sA)" - construct="$construct, ($tbasetype)(v.sB)" - construct="$construct, ($tbasetype)(v.sC)" - construct="$construct, ($tbasetype)(v.sD)" - construct="$construct, ($tbasetype)(v.sE)" - construct="$construct, ($tbasetype)(v.sF)" - fi - - echo "INLINE OVERLOADABLE $tvectortype convert_$tvectortype($fvectortype v) {" - echo " return ($tvectortype)($construct);" - echo "}" - echo - done - done - fi -done - -echo ' -#define DEF(DSTTYPE, SRCTYPE) \ - OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x); -DEF(char, uchar); -DEF(char, short); -DEF(char, ushort); -DEF(char, int); -DEF(char, uint); -DEF(char, float); -DEF(uchar, char); -DEF(uchar, short); -DEF(uchar, ushort); -DEF(uchar, int); -DEF(uchar, uint); -DEF(uchar, float); -DEF(short, ushort); -DEF(short, int); -DEF(short, uint); -DEF(short, float); -DEF(ushort, short); -DEF(ushort, int); -DEF(ushort, uint); -DEF(ushort, float); -DEF(int, uint); -DEF(int, float); -DEF(uint, int); -DEF(uint, float); -#undef DEF - -#define DEF(DSTTYPE, SRCTYPE, MIN, MAX) \ - INLINE_OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x) { \ - return x >= MAX ? (DSTTYPE)MAX : x <= MIN ? (DSTTYPE)MIN : x; \ - } -DEF(char, long, -128, 127); -DEF(uchar, long, 0, 255); -DEF(short, long, -32768, 32767); -DEF(ushort, long, 0, 65535); -DEF(int, long, -0x7fffffff-1, 0x7fffffff); -DEF(uint, long, 0, 0xffffffffu); -DEF(long, float, -9.223372036854776e+18f, 9.223372036854776e+18f); -DEF(ulong, float, 0, 1.8446744073709552e+19f); -#undef DEF - -#define DEF(DSTTYPE, SRCTYPE, MAX) \ - INLINE_OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x) { \ - return x >= MAX ? (DSTTYPE)MAX : x; \ - } -DEF(char, ulong, 127); -DEF(uchar, ulong, 255); -DEF(short, ulong, 32767); -DEF(ushort, ulong, 65535); -DEF(int, ulong, 0x7fffffff); -DEF(uint, ulong, 0xffffffffu); -#undef DEF - -INLINE_OVERLOADABLE long convert_long_sat(ulong x) { - ulong MAX = 0x7ffffffffffffffful; - return x >= MAX ? MAX : x; -} - -#define DEF(DSTTYPE, SRCTYPE) \ - INLINE_OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x) { \ - return x <= 0 ? 0 : x; \ - } -DEF(ushort, char); -DEF(uint, char); -DEF(uint, short); -DEF(ulong, char); -DEF(ulong, short); -DEF(ulong, int); -DEF(ulong, long); -#undef DEF - -#define DEF(DSTTYPE, SRCTYPE) \ - INLINE_OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x) { \ - return x; \ - } -DEF(char, char); -DEF(uchar, uchar); -DEF(short, char); -DEF(short, uchar); -DEF(short, short); -DEF(ushort, uchar); -DEF(ushort, ushort); -DEF(int, char); -DEF(int, uchar); -DEF(int, short); -DEF(int, ushort); -DEF(int, int); -DEF(uint, uchar); -DEF(uint, ushort); -DEF(uint, uint); -DEF(long, char); -DEF(long, uchar); -DEF(long, short); -DEF(long, ushort); -DEF(long, int); -DEF(long, uint); -DEF(long, long); -DEF(ulong, uchar); -DEF(ulong, ushort); -DEF(ulong, uint); -DEF(ulong, ulong); -#undef DEF -' - -# vector convert_DSTTYPE_sat function -for vector_length in $VECTOR_LENGTHS; do - if test $vector_length -eq 1; then continue; fi - - for ftype in $TYPES; do - fbasetype=`IFS=:; set -- dummy $ftype; echo $2` - if test $fbasetype = "double"; then continue; fi - - for ttype in $TYPES; do - tbasetype=`IFS=:; set -- dummy $ttype; echo $2` - if test $tbasetype = "double" -o $tbasetype = "float"; then continue; fi - - fvectortype=$fbasetype$vector_length - tvectortype=$tbasetype$vector_length - conv="convert_${tbasetype}_sat" - - construct="$conv(v.s0)" - if test $vector_length -gt 1; then - construct="$construct, $conv(v.s1)" - fi - if test $vector_length -gt 2; then - construct="$construct, $conv(v.s2)" - fi - if test $vector_length -gt 3; then - construct="$construct, $conv(v.s3)" - fi - if test $vector_length -gt 4; then - construct="$construct, $conv(v.s4)" - construct="$construct, $conv(v.s5)" - construct="$construct, $conv(v.s6)" - construct="$construct, $conv(v.s7)" - fi - if test $vector_length -gt 8; then - construct="$construct, $conv(v.s8)" - construct="$construct, $conv(v.s9)" - construct="$construct, $conv(v.sA)" - construct="$construct, $conv(v.sB)" - construct="$construct, $conv(v.sC)" - construct="$construct, $conv(v.sD)" - construct="$construct, $conv(v.sE)" - construct="$construct, $conv(v.sF)" - fi - - echo "INLINE OVERLOADABLE $tvectortype convert_${tvectortype}_sat($fvectortype v) {" - echo " return ($tvectortype)($construct);" - echo "}" - echo - done - done -done - -echo ' -float __gen_ocl_rndz(float x); -float __gen_ocl_rnde(float x); -float __gen_ocl_rndu(float x); -float __gen_ocl_rndd(float x); -INLINE_OVERLOADABLE float __convert_float_rtz(long x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long l = u.f; - if((l > x && x > 0) || x >= 0x7fffffc000000000 || - (l < x && x < 0)) { - u.u -= 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtp(long x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long l = u.f; //can not use u.f < x - if(l < x && x < 0x7fffffc000000000) { - if(x > 0) - u.u = u.u + 1; - else - u.u = u.u - 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtn(long x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long l = u.f; //avoid overflow - if(l > x || x >= 0x7fffffc000000000) { - if(x > 0) - u.u = u.u - 1; - else - u.u = u.u + 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtz(ulong x) -{ - union { - uint u; - float f; - } u; - u.f = x; - ulong l = u.f; - if(l > x || x >= 0xffffff8000000000) - u.u -= 1; - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtp(ulong x) -{ - union { - uint u; - float f; - } u; - u.f = x; - ulong l = u.f; //can not use u.f < x - if(l < x && x < 0xffffff8000000000) - u.u = u.u + 1; - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtn(ulong x) -{ - return __convert_float_rtz(x); -} -INLINE_OVERLOADABLE float __convert_float_rtz(int x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long i = u.f; - if((i > x && x > 0) || - (i < x && x < 0)) { - u.u -= 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtp(int x) -{ - union { - uint u; - float f; - } u; - u.f = x; - int i = u.f; - if(i < x) { - if(x > 0) - u.u += 1; - else - u.u -= 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtn(int x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long i = u.f; //avoid overflow - if(i > x) { - if(x > 0) - u.u = u.u - 1; - else - u.u = u.u + 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtz(uint x) -{ - union { - uint u; - float f; - } u; - u.f = x; - ulong i = u.f; - if(i > x) - u.u -= 1; - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtp(uint x) -{ - union { - uint u; - float f; - } u; - u.f = x; - uint i = u.f; - if(i < x) - u.u += 1; - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtn(uint x) -{ - return __convert_float_rtz(x); -} -' - -# convert_DSTTYPE_ROUNDING function -for vector_length in $VECTOR_LENGTHS; do - for ftype in $TYPES; do - fbasetype=`IFS=:; set -- dummy $ftype; echo $2` - if test $fbasetype = "double"; then continue; fi - - for ttype in $TYPES; do - tbasetype=`IFS=:; set -- dummy $ttype; echo $2` - if test $tbasetype = "double"; then continue; fi - - if test $vector_length -eq 1; then - echo "INLINE_OVERLOADABLE $tbasetype convert_${tbasetype}_rte($fbasetype x)" - if test $fbasetype = "float" -a $tbasetype != "float"; then - echo "{ return __gen_ocl_rnde(x); }" - else - echo "{ return x; }" - fi - - echo "INLINE_OVERLOADABLE $tbasetype convert_${tbasetype}_rtz($fbasetype x)" - if test $fbasetype = "float" -a $tbasetype != "float"; then - echo "{ return __gen_ocl_rndz(x); }" - elif [ "$fbasetype" = "int" -o "$fbasetype" = "uint" -o "$fbasetype" = "long" -o "$fbasetype" = "ulong" ] && [ "$tbasetype" = "float" ]; then - echo "{ return __convert_${tbasetype}_rtz(x); }" - else - echo "{ return x; }" - fi - - echo "INLINE_OVERLOADABLE $tbasetype convert_${tbasetype}_rtp($fbasetype x)" - if test $fbasetype = "float" -a $tbasetype != "float"; then - echo "{ return __gen_ocl_rndu(x); }" - elif [ "$fbasetype" = "int" -o "$fbasetype" = "uint" -o "$fbasetype" = "long" -o "$fbasetype" = "ulong" ] && [ "$tbasetype" = "float" ]; then - echo "{ return __convert_${tbasetype}_rtp(x); }" - else - echo "{ return x; }" - fi - - echo "INLINE_OVERLOADABLE $tbasetype convert_${tbasetype}_rtn($fbasetype x)" - if test $fbasetype = "float" -a $tbasetype != "float"; then - echo "{ return __gen_ocl_rndd(x); }" - elif [ "$fbasetype" = "int" -o "$fbasetype" = "uint" -o "$fbasetype" = "long" -o "$fbasetype" = "ulong" ] && [ "$tbasetype" = "float" ]; then - echo "{ return __convert_${tbasetype}_rtn(x); }" - else - echo "{ return x; }" - fi - - continue - fi - - for rounding in $ROUNDING_MODES; do - fvectortype=$fbasetype$vector_length - tvectortype=$tbasetype$vector_length - conv="convert_${tbasetype}_${rounding}" - - construct="$conv(v.s0)" - if test $vector_length -gt 1; then - construct="$construct, $conv(v.s1)" - fi - if test $vector_length -gt 2; then - construct="$construct, $conv(v.s2)" - fi - if test $vector_length -gt 3; then - construct="$construct, $conv(v.s3)" - fi - if test $vector_length -gt 4; then - construct="$construct, $conv(v.s4)" - construct="$construct, $conv(v.s5)" - construct="$construct, $conv(v.s6)" - construct="$construct, $conv(v.s7)" - fi - if test $vector_length -gt 8; then - construct="$construct, $conv(v.s8)" - construct="$construct, $conv(v.s9)" - construct="$construct, $conv(v.sA)" - construct="$construct, $conv(v.sB)" - construct="$construct, $conv(v.sC)" - construct="$construct, $conv(v.sD)" - construct="$construct, $conv(v.sE)" - construct="$construct, $conv(v.sF)" - fi - - echo "INLINE OVERLOADABLE $tvectortype convert_${tvectortype}_${rounding}($fvectortype v) {" - echo " return ($tvectortype)($construct);" - echo "}" - echo - done - done - done -done - -# convert_DSTTYPE_sat_ROUNDING function -for vector_length in $VECTOR_LENGTHS; do - for ftype in $TYPES; do - fbasetype=`IFS=:; set -- dummy $ftype; echo $2` - if test $fbasetype = "double"; then continue; fi - - for ttype in $TYPES; do - tbasetype=`IFS=:; set -- dummy $ttype; echo $2` - if test $tbasetype = "double" -o $tbasetype = "float"; then continue; fi - - if test $vector_length -eq 1; then - echo "INLINE_OVERLOADABLE $tbasetype convert_${tbasetype}_sat_rte($fbasetype x)" - if test $fbasetype = "float"; then - echo "{ return convert_${tbasetype}_sat(__gen_ocl_rnde(x)); }" - else - echo "{ return convert_${tbasetype}_sat(x); }" - fi - - echo "INLINE_OVERLOADABLE $tbasetype convert_${tbasetype}_sat_rtz($fbasetype x)" - if test $fbasetype = "float"; then - echo "{ return convert_${tbasetype}_sat(__gen_ocl_rndz(x)); }" - else - echo "{ return convert_${tbasetype}_sat(x); }" - fi - - echo "INLINE_OVERLOADABLE $tbasetype convert_${tbasetype}_sat_rtp($fbasetype x)" - if test $fbasetype = "float"; then - echo "{ return convert_${tbasetype}_sat(__gen_ocl_rndu(x)); }" - else - echo "{ return convert_${tbasetype}_sat(x); }" - fi - - echo "INLINE_OVERLOADABLE $tbasetype convert_${tbasetype}_sat_rtn($fbasetype x)" - if test $fbasetype = "float"; then - echo "{ return convert_${tbasetype}_sat(__gen_ocl_rndd(x)); }" - else - echo "{ return convert_${tbasetype}_sat(x); }" - fi - - continue - fi - - for rounding in $ROUNDING_MODES; do - fvectortype=$fbasetype$vector_length - tvectortype=$tbasetype$vector_length - conv="convert_${tbasetype}_sat_${rounding}" - - construct="$conv(v.s0)" - if test $vector_length -gt 1; then - construct="$construct, $conv(v.s1)" - fi - if test $vector_length -gt 2; then - construct="$construct, $conv(v.s2)" - fi - if test $vector_length -gt 3; then - construct="$construct, $conv(v.s3)" - fi - if test $vector_length -gt 4; then - construct="$construct, $conv(v.s4)" - construct="$construct, $conv(v.s5)" - construct="$construct, $conv(v.s6)" - construct="$construct, $conv(v.s7)" - fi - if test $vector_length -gt 8; then - construct="$construct, $conv(v.s8)" - construct="$construct, $conv(v.s9)" - construct="$construct, $conv(v.sA)" - construct="$construct, $conv(v.sB)" - construct="$construct, $conv(v.sC)" - construct="$construct, $conv(v.sD)" - construct="$construct, $conv(v.sE)" - construct="$construct, $conv(v.sF)" - fi - - echo "INLINE OVERLOADABLE $tvectortype convert_${tvectortype}_sat_${rounding}($fvectortype v) {" - echo " return ($tvectortype)($construct);" - echo "}" - echo - done - done - done -done diff --git a/backend/src/genconfig.sh b/backend/src/genconfig.sh deleted file mode 100644 index 689499e..0000000 --- a/backend/src/genconfig.sh +++ /dev/null @@ -1,11 +0,0 @@ -#! /bin/false -# This is to be sourced by the generation scripts - -# Supported base types and their lengths -TYPES="long:8 ulong:8 int:4 uint:4 short:2 ushort:2 char:1 uchar:1 double:8 float:4" - -# Supported vector lengths -VECTOR_LENGTHS="1 2 3 4 8 16" - -ROUNDING_MODES="rte rtz rtp rtn" -## No user serviceable parts below here diff --git a/backend/src/ocl_as.h b/backend/src/ocl_as.h deleted file mode 100644 index 692e892..0000000 --- a/backend/src/ocl_as.h +++ /dev/null @@ -1,3086 +0,0 @@ -// This file is autogenerated by gen_as.sh. -// Don't modify it manually. -union _type_cast_1_b { - char _char; - uchar _uchar; -}; - -INLINE OVERLOADABLE uchar as_uchar(char v) { - union _type_cast_1_b u; - u._char = v; - return u._uchar; -} - -INLINE OVERLOADABLE char as_char(uchar v) { - union _type_cast_1_b u; - u._uchar = v; - return u._char; -} - -union _type_cast_2_b { - short _short; - ushort _ushort; - char2 _char2; - uchar2 _uchar2; -}; - -INLINE OVERLOADABLE ushort as_ushort(short v) { - union _type_cast_2_b u; - u._short = v; - return u._ushort; -} - -INLINE OVERLOADABLE char2 as_char2(short v) { - union _type_cast_2_b u; - u._short = v; - return u._char2; -} - -INLINE OVERLOADABLE uchar2 as_uchar2(short v) { - union _type_cast_2_b u; - u._short = v; - return u._uchar2; -} - -INLINE OVERLOADABLE short as_short(ushort v) { - union _type_cast_2_b u; - u._ushort = v; - return u._short; -} - -INLINE OVERLOADABLE char2 as_char2(ushort v) { - union _type_cast_2_b u; - u._ushort = v; - return u._char2; -} - -INLINE OVERLOADABLE uchar2 as_uchar2(ushort v) { - union _type_cast_2_b u; - u._ushort = v; - return u._uchar2; -} - -INLINE OVERLOADABLE short as_short(char2 v) { - union _type_cast_2_b u; - u._char2 = v; - return u._short; -} - -INLINE OVERLOADABLE ushort as_ushort(char2 v) { - union _type_cast_2_b u; - u._char2 = v; - return u._ushort; -} - -INLINE OVERLOADABLE uchar2 as_uchar2(char2 v) { - union _type_cast_2_b u; - u._char2 = v; - return u._uchar2; -} - -INLINE OVERLOADABLE short as_short(uchar2 v) { - union _type_cast_2_b u; - u._uchar2 = v; - return u._short; -} - -INLINE OVERLOADABLE ushort as_ushort(uchar2 v) { - union _type_cast_2_b u; - u._uchar2 = v; - return u._ushort; -} - -INLINE OVERLOADABLE char2 as_char2(uchar2 v) { - union _type_cast_2_b u; - u._uchar2 = v; - return u._char2; -} - -union _type_cast_4_b { - int _int; - uint _uint; - short2 _short2; - ushort2 _ushort2; - char3 _char3; - char4 _char4; - uchar3 _uchar3; - uchar4 _uchar4; - float _float; -}; - -INLINE OVERLOADABLE uint as_uint(int v) { - union _type_cast_4_b u; - u._int = v; - return u._uint; -} - -INLINE OVERLOADABLE short2 as_short2(int v) { - union _type_cast_4_b u; - u._int = v; - return u._short2; -} - -INLINE OVERLOADABLE ushort2 as_ushort2(int v) { - union _type_cast_4_b u; - u._int = v; - return u._ushort2; -} - -INLINE OVERLOADABLE char3 as_char3(int v) { - union _type_cast_4_b u; - u._int = v; - return u._char3; -} - -INLINE OVERLOADABLE char4 as_char4(int v) { - union _type_cast_4_b u; - u._int = v; - return u._char4; -} - -INLINE OVERLOADABLE uchar3 as_uchar3(int v) { - union _type_cast_4_b u; - u._int = v; - return u._uchar3; -} - -INLINE OVERLOADABLE uchar4 as_uchar4(int v) { - union _type_cast_4_b u; - u._int = v; - return u._uchar4; -} - -INLINE OVERLOADABLE float as_float(int v) { - union _type_cast_4_b u; - u._int = v; - return u._float; -} - -INLINE OVERLOADABLE int as_int(uint v) { - union _type_cast_4_b u; - u._uint = v; - return u._int; -} - -INLINE OVERLOADABLE short2 as_short2(uint v) { - union _type_cast_4_b u; - u._uint = v; - return u._short2; -} - -INLINE OVERLOADABLE ushort2 as_ushort2(uint v) { - union _type_cast_4_b u; - u._uint = v; - return u._ushort2; -} - -INLINE OVERLOADABLE char3 as_char3(uint v) { - union _type_cast_4_b u; - u._uint = v; - return u._char3; -} - -INLINE OVERLOADABLE char4 as_char4(uint v) { - union _type_cast_4_b u; - u._uint = v; - return u._char4; -} - -INLINE OVERLOADABLE uchar3 as_uchar3(uint v) { - union _type_cast_4_b u; - u._uint = v; - return u._uchar3; -} - -INLINE OVERLOADABLE uchar4 as_uchar4(uint v) { - union _type_cast_4_b u; - u._uint = v; - return u._uchar4; -} - -INLINE OVERLOADABLE float as_float(uint v) { - union _type_cast_4_b u; - u._uint = v; - return u._float; -} - -INLINE OVERLOADABLE int as_int(short2 v) { - union _type_cast_4_b u; - u._short2 = v; - return u._int; -} - -INLINE OVERLOADABLE uint as_uint(short2 v) { - union _type_cast_4_b u; - u._short2 = v; - return u._uint; -} - -INLINE OVERLOADABLE ushort2 as_ushort2(short2 v) { - union _type_cast_4_b u; - u._short2 = v; - return u._ushort2; -} - -INLINE OVERLOADABLE char3 as_char3(short2 v) { - union _type_cast_4_b u; - u._short2 = v; - return u._char3; -} - -INLINE OVERLOADABLE char4 as_char4(short2 v) { - union _type_cast_4_b u; - u._short2 = v; - return u._char4; -} - -INLINE OVERLOADABLE uchar3 as_uchar3(short2 v) { - union _type_cast_4_b u; - u._short2 = v; - return u._uchar3; -} - -INLINE OVERLOADABLE uchar4 as_uchar4(short2 v) { - union _type_cast_4_b u; - u._short2 = v; - return u._uchar4; -} - -INLINE OVERLOADABLE float as_float(short2 v) { - union _type_cast_4_b u; - u._short2 = v; - return u._float; -} - -INLINE OVERLOADABLE int as_int(ushort2 v) { - union _type_cast_4_b u; - u._ushort2 = v; - return u._int; -} - -INLINE OVERLOADABLE uint as_uint(ushort2 v) { - union _type_cast_4_b u; - u._ushort2 = v; - return u._uint; -} - -INLINE OVERLOADABLE short2 as_short2(ushort2 v) { - union _type_cast_4_b u; - u._ushort2 = v; - return u._short2; -} - -INLINE OVERLOADABLE char3 as_char3(ushort2 v) { - union _type_cast_4_b u; - u._ushort2 = v; - return u._char3; -} - -INLINE OVERLOADABLE char4 as_char4(ushort2 v) { - union _type_cast_4_b u; - u._ushort2 = v; - return u._char4; -} - -INLINE OVERLOADABLE uchar3 as_uchar3(ushort2 v) { - union _type_cast_4_b u; - u._ushort2 = v; - return u._uchar3; -} - -INLINE OVERLOADABLE uchar4 as_uchar4(ushort2 v) { - union _type_cast_4_b u; - u._ushort2 = v; - return u._uchar4; -} - -INLINE OVERLOADABLE float as_float(ushort2 v) { - union _type_cast_4_b u; - u._ushort2 = v; - return u._float; -} - -INLINE OVERLOADABLE int as_int(char3 v) { - union _type_cast_4_b u; - u._char3 = v; - return u._int; -} - -INLINE OVERLOADABLE uint as_uint(char3 v) { - union _type_cast_4_b u; - u._char3 = v; - return u._uint; -} - -INLINE OVERLOADABLE short2 as_short2(char3 v) { - union _type_cast_4_b u; - u._char3 = v; - return u._short2; -} - -INLINE OVERLOADABLE ushort2 as_ushort2(char3 v) { - union _type_cast_4_b u; - u._char3 = v; - return u._ushort2; -} - -INLINE OVERLOADABLE uchar3 as_uchar3(char3 v) { - union _type_cast_4_b u; - u._char3 = v; - return u._uchar3; -} - -INLINE OVERLOADABLE uchar4 as_uchar4(char3 v) { - union _type_cast_4_b u; - u._char3 = v; - return u._uchar4; -} - -INLINE OVERLOADABLE float as_float(char3 v) { - union _type_cast_4_b u; - u._char3 = v; - return u._float; -} - -INLINE OVERLOADABLE int as_int(char4 v) { - union _type_cast_4_b u; - u._char4 = v; - return u._int; -} - -INLINE OVERLOADABLE uint as_uint(char4 v) { - union _type_cast_4_b u; - u._char4 = v; - return u._uint; -} - -INLINE OVERLOADABLE short2 as_short2(char4 v) { - union _type_cast_4_b u; - u._char4 = v; - return u._short2; -} - -INLINE OVERLOADABLE ushort2 as_ushort2(char4 v) { - union _type_cast_4_b u; - u._char4 = v; - return u._ushort2; -} - -INLINE OVERLOADABLE uchar3 as_uchar3(char4 v) { - union _type_cast_4_b u; - u._char4 = v; - return u._uchar3; -} - -INLINE OVERLOADABLE uchar4 as_uchar4(char4 v) { - union _type_cast_4_b u; - u._char4 = v; - return u._uchar4; -} - -INLINE OVERLOADABLE float as_float(char4 v) { - union _type_cast_4_b u; - u._char4 = v; - return u._float; -} - -INLINE OVERLOADABLE int as_int(uchar3 v) { - union _type_cast_4_b u; - u._uchar3 = v; - return u._int; -} - -INLINE OVERLOADABLE uint as_uint(uchar3 v) { - union _type_cast_4_b u; - u._uchar3 = v; - return u._uint; -} - -INLINE OVERLOADABLE short2 as_short2(uchar3 v) { - union _type_cast_4_b u; - u._uchar3 = v; - return u._short2; -} - -INLINE OVERLOADABLE ushort2 as_ushort2(uchar3 v) { - union _type_cast_4_b u; - u._uchar3 = v; - return u._ushort2; -} - -INLINE OVERLOADABLE char3 as_char3(uchar3 v) { - union _type_cast_4_b u; - u._uchar3 = v; - return u._char3; -} - -INLINE OVERLOADABLE char4 as_char4(uchar3 v) { - union _type_cast_4_b u; - u._uchar3 = v; - return u._char4; -} - -INLINE OVERLOADABLE float as_float(uchar3 v) { - union _type_cast_4_b u; - u._uchar3 = v; - return u._float; -} - -INLINE OVERLOADABLE int as_int(uchar4 v) { - union _type_cast_4_b u; - u._uchar4 = v; - return u._int; -} - -INLINE OVERLOADABLE uint as_uint(uchar4 v) { - union _type_cast_4_b u; - u._uchar4 = v; - return u._uint; -} - -INLINE OVERLOADABLE short2 as_short2(uchar4 v) { - union _type_cast_4_b u; - u._uchar4 = v; - return u._short2; -} - -INLINE OVERLOADABLE ushort2 as_ushort2(uchar4 v) { - union _type_cast_4_b u; - u._uchar4 = v; - return u._ushort2; -} - -INLINE OVERLOADABLE char3 as_char3(uchar4 v) { - union _type_cast_4_b u; - u._uchar4 = v; - return u._char3; -} - -INLINE OVERLOADABLE char4 as_char4(uchar4 v) { - union _type_cast_4_b u; - u._uchar4 = v; - return u._char4; -} - -INLINE OVERLOADABLE float as_float(uchar4 v) { - union _type_cast_4_b u; - u._uchar4 = v; - return u._float; -} - -INLINE OVERLOADABLE int as_int(float v) { - union _type_cast_4_b u; - u._float = v; - return u._int; -} - -INLINE OVERLOADABLE uint as_uint(float v) { - union _type_cast_4_b u; - u._float = v; - return u._uint; -} - -INLINE OVERLOADABLE short2 as_short2(float v) { - union _type_cast_4_b u; - u._float = v; - return u._short2; -} - -INLINE OVERLOADABLE ushort2 as_ushort2(float v) { - union _type_cast_4_b u; - u._float = v; - return u._ushort2; -} - -INLINE OVERLOADABLE char3 as_char3(float v) { - union _type_cast_4_b u; - u._float = v; - return u._char3; -} - -INLINE OVERLOADABLE char4 as_char4(float v) { - union _type_cast_4_b u; - u._float = v; - return u._char4; -} - -INLINE OVERLOADABLE uchar3 as_uchar3(float v) { - union _type_cast_4_b u; - u._float = v; - return u._uchar3; -} - -INLINE OVERLOADABLE uchar4 as_uchar4(float v) { - union _type_cast_4_b u; - u._float = v; - return u._uchar4; -} - -union _type_cast_8_b { - long _long; - ulong _ulong; - int2 _int2; - uint2 _uint2; - short3 _short3; - short4 _short4; - ushort3 _ushort3; - ushort4 _ushort4; - char8 _char8; - uchar8 _uchar8; - double _double; - float2 _float2; -}; - -INLINE OVERLOADABLE ulong as_ulong(long v) { - union _type_cast_8_b u; - u._long = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(long v) { - union _type_cast_8_b u; - u._long = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(long v) { - union _type_cast_8_b u; - u._long = v; - return u._uint2; -} - -INLINE OVERLOADABLE short3 as_short3(long v) { - union _type_cast_8_b u; - u._long = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(long v) { - union _type_cast_8_b u; - u._long = v; - return u._short4; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(long v) { - union _type_cast_8_b u; - u._long = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(long v) { - union _type_cast_8_b u; - u._long = v; - return u._ushort4; -} - -INLINE OVERLOADABLE char8 as_char8(long v) { - union _type_cast_8_b u; - u._long = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(long v) { - union _type_cast_8_b u; - u._long = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(long v) { - union _type_cast_8_b u; - u._long = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(long v) { - union _type_cast_8_b u; - u._long = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._long; -} - -INLINE OVERLOADABLE int2 as_int2(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._uint2; -} - -INLINE OVERLOADABLE short3 as_short3(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._short4; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._ushort4; -} - -INLINE OVERLOADABLE char8 as_char8(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(ulong v) { - union _type_cast_8_b u; - u._ulong = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._ulong; -} - -INLINE OVERLOADABLE uint2 as_uint2(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._uint2; -} - -INLINE OVERLOADABLE short3 as_short3(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._short4; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._ushort4; -} - -INLINE OVERLOADABLE char8 as_char8(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(int2 v) { - union _type_cast_8_b u; - u._int2 = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._int2; -} - -INLINE OVERLOADABLE short3 as_short3(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._short4; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._ushort4; -} - -INLINE OVERLOADABLE char8 as_char8(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(uint2 v) { - union _type_cast_8_b u; - u._uint2 = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._uint2; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._ushort4; -} - -INLINE OVERLOADABLE char8 as_char8(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(short3 v) { - union _type_cast_8_b u; - u._short3 = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._uint2; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._ushort4; -} - -INLINE OVERLOADABLE char8 as_char8(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(short4 v) { - union _type_cast_8_b u; - u._short4 = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._uint2; -} - -INLINE OVERLOADABLE short3 as_short3(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._short4; -} - -INLINE OVERLOADABLE char8 as_char8(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(ushort3 v) { - union _type_cast_8_b u; - u._ushort3 = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._uint2; -} - -INLINE OVERLOADABLE short3 as_short3(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._short4; -} - -INLINE OVERLOADABLE char8 as_char8(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(ushort4 v) { - union _type_cast_8_b u; - u._ushort4 = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._uint2; -} - -INLINE OVERLOADABLE short3 as_short3(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._short4; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._ushort4; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(char8 v) { - union _type_cast_8_b u; - u._char8 = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._uint2; -} - -INLINE OVERLOADABLE short3 as_short3(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._short4; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._ushort4; -} - -INLINE OVERLOADABLE char8 as_char8(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._char8; -} - -INLINE OVERLOADABLE double as_double(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._double; -} - -INLINE OVERLOADABLE float2 as_float2(uchar8 v) { - union _type_cast_8_b u; - u._uchar8 = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(double v) { - union _type_cast_8_b u; - u._double = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(double v) { - union _type_cast_8_b u; - u._double = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(double v) { - union _type_cast_8_b u; - u._double = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(double v) { - union _type_cast_8_b u; - u._double = v; - return u._uint2; -} - -INLINE OVERLOADABLE short3 as_short3(double v) { - union _type_cast_8_b u; - u._double = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(double v) { - union _type_cast_8_b u; - u._double = v; - return u._short4; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(double v) { - union _type_cast_8_b u; - u._double = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(double v) { - union _type_cast_8_b u; - u._double = v; - return u._ushort4; -} - -INLINE OVERLOADABLE char8 as_char8(double v) { - union _type_cast_8_b u; - u._double = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(double v) { - union _type_cast_8_b u; - u._double = v; - return u._uchar8; -} - -INLINE OVERLOADABLE float2 as_float2(double v) { - union _type_cast_8_b u; - u._double = v; - return u._float2; -} - -INLINE OVERLOADABLE long as_long(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._long; -} - -INLINE OVERLOADABLE ulong as_ulong(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._ulong; -} - -INLINE OVERLOADABLE int2 as_int2(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._int2; -} - -INLINE OVERLOADABLE uint2 as_uint2(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._uint2; -} - -INLINE OVERLOADABLE short3 as_short3(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._short3; -} - -INLINE OVERLOADABLE short4 as_short4(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._short4; -} - -INLINE OVERLOADABLE ushort3 as_ushort3(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._ushort3; -} - -INLINE OVERLOADABLE ushort4 as_ushort4(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._ushort4; -} - -INLINE OVERLOADABLE char8 as_char8(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._char8; -} - -INLINE OVERLOADABLE uchar8 as_uchar8(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._uchar8; -} - -INLINE OVERLOADABLE double as_double(float2 v) { - union _type_cast_8_b u; - u._float2 = v; - return u._double; -} - -union _type_cast_16_b { - long2 _long2; - ulong2 _ulong2; - int3 _int3; - int4 _int4; - uint3 _uint3; - uint4 _uint4; - short8 _short8; - ushort8 _ushort8; - char16 _char16; - uchar16 _uchar16; - double2 _double2; - float3 _float3; - float4 _float4; -}; - -INLINE OVERLOADABLE ulong2 as_ulong2(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._int4; -} - -INLINE OVERLOADABLE uint3 as_uint3(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(long2 v) { - union _type_cast_16_b u; - u._long2 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._long2; -} - -INLINE OVERLOADABLE int3 as_int3(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._int4; -} - -INLINE OVERLOADABLE uint3 as_uint3(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(ulong2 v) { - union _type_cast_16_b u; - u._ulong2 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE uint3 as_uint3(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(int3 v) { - union _type_cast_16_b u; - u._int3 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE uint3 as_uint3(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(int4 v) { - union _type_cast_16_b u; - u._int4 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._int4; -} - -INLINE OVERLOADABLE short8 as_short8(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(uint3 v) { - union _type_cast_16_b u; - u._uint3 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._int4; -} - -INLINE OVERLOADABLE short8 as_short8(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(uint4 v) { - union _type_cast_16_b u; - u._uint4 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._int4; -} - -INLINE OVERLOADABLE uint3 as_uint3(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._uint4; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(short8 v) { - union _type_cast_16_b u; - u._short8 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._int4; -} - -INLINE OVERLOADABLE uint3 as_uint3(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._short8; -} - -INLINE OVERLOADABLE char16 as_char16(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(ushort8 v) { - union _type_cast_16_b u; - u._ushort8 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._int4; -} - -INLINE OVERLOADABLE uint3 as_uint3(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(char16 v) { - union _type_cast_16_b u; - u._char16 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._int4; -} - -INLINE OVERLOADABLE uint3 as_uint3(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._char16; -} - -INLINE OVERLOADABLE double2 as_double2(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._double2; -} - -INLINE OVERLOADABLE float3 as_float3(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(uchar16 v) { - union _type_cast_16_b u; - u._uchar16 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._int4; -} - -INLINE OVERLOADABLE uint3 as_uint3(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE float3 as_float3(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._float3; -} - -INLINE OVERLOADABLE float4 as_float4(double2 v) { - union _type_cast_16_b u; - u._double2 = v; - return u._float4; -} - -INLINE OVERLOADABLE long2 as_long2(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._int4; -} - -INLINE OVERLOADABLE uint3 as_uint3(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(float3 v) { - union _type_cast_16_b u; - u._float3 = v; - return u._double2; -} - -INLINE OVERLOADABLE long2 as_long2(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._long2; -} - -INLINE OVERLOADABLE ulong2 as_ulong2(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._ulong2; -} - -INLINE OVERLOADABLE int3 as_int3(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._int3; -} - -INLINE OVERLOADABLE int4 as_int4(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._int4; -} - -INLINE OVERLOADABLE uint3 as_uint3(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._uint3; -} - -INLINE OVERLOADABLE uint4 as_uint4(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._uint4; -} - -INLINE OVERLOADABLE short8 as_short8(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._short8; -} - -INLINE OVERLOADABLE ushort8 as_ushort8(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._ushort8; -} - -INLINE OVERLOADABLE char16 as_char16(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._char16; -} - -INLINE OVERLOADABLE uchar16 as_uchar16(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._uchar16; -} - -INLINE OVERLOADABLE double2 as_double2(float4 v) { - union _type_cast_16_b u; - u._float4 = v; - return u._double2; -} - -union _type_cast_32_b { - long3 _long3; - long4 _long4; - ulong3 _ulong3; - ulong4 _ulong4; - int8 _int8; - uint8 _uint8; - short16 _short16; - ushort16 _ushort16; - double3 _double3; - double4 _double4; - float8 _float8; -}; - -INLINE OVERLOADABLE ulong3 as_ulong3(long3 v) { - union _type_cast_32_b u; - u._long3 = v; - return u._ulong3; -} - -INLINE OVERLOADABLE ulong4 as_ulong4(long3 v) { - union _type_cast_32_b u; - u._long3 = v; - return u._ulong4; -} - -INLINE OVERLOADABLE int8 as_int8(long3 v) { - union _type_cast_32_b u; - u._long3 = v; - return u._int8; -} - -INLINE OVERLOADABLE uint8 as_uint8(long3 v) { - union _type_cast_32_b u; - u._long3 = v; - return u._uint8; -} - -INLINE OVERLOADABLE short16 as_short16(long3 v) { - union _type_cast_32_b u; - u._long3 = v; - return u._short16; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(long3 v) { - union _type_cast_32_b u; - u._long3 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE double3 as_double3(long3 v) { - union _type_cast_32_b u; - u._long3 = v; - return u._double3; -} - -INLINE OVERLOADABLE double4 as_double4(long3 v) { - union _type_cast_32_b u; - u._long3 = v; - return u._double4; -} - -INLINE OVERLOADABLE float8 as_float8(long3 v) { - union _type_cast_32_b u; - u._long3 = v; - return u._float8; -} - -INLINE OVERLOADABLE ulong3 as_ulong3(long4 v) { - union _type_cast_32_b u; - u._long4 = v; - return u._ulong3; -} - -INLINE OVERLOADABLE ulong4 as_ulong4(long4 v) { - union _type_cast_32_b u; - u._long4 = v; - return u._ulong4; -} - -INLINE OVERLOADABLE int8 as_int8(long4 v) { - union _type_cast_32_b u; - u._long4 = v; - return u._int8; -} - -INLINE OVERLOADABLE uint8 as_uint8(long4 v) { - union _type_cast_32_b u; - u._long4 = v; - return u._uint8; -} - -INLINE OVERLOADABLE short16 as_short16(long4 v) { - union _type_cast_32_b u; - u._long4 = v; - return u._short16; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(long4 v) { - union _type_cast_32_b u; - u._long4 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE double3 as_double3(long4 v) { - union _type_cast_32_b u; - u._long4 = v; - return u._double3; -} - -INLINE OVERLOADABLE double4 as_double4(long4 v) { - union _type_cast_32_b u; - u._long4 = v; - return u._double4; -} - -INLINE OVERLOADABLE float8 as_float8(long4 v) { - union _type_cast_32_b u; - u._long4 = v; - return u._float8; -} - -INLINE OVERLOADABLE long3 as_long3(ulong3 v) { - union _type_cast_32_b u; - u._ulong3 = v; - return u._long3; -} - -INLINE OVERLOADABLE long4 as_long4(ulong3 v) { - union _type_cast_32_b u; - u._ulong3 = v; - return u._long4; -} - -INLINE OVERLOADABLE int8 as_int8(ulong3 v) { - union _type_cast_32_b u; - u._ulong3 = v; - return u._int8; -} - -INLINE OVERLOADABLE uint8 as_uint8(ulong3 v) { - union _type_cast_32_b u; - u._ulong3 = v; - return u._uint8; -} - -INLINE OVERLOADABLE short16 as_short16(ulong3 v) { - union _type_cast_32_b u; - u._ulong3 = v; - return u._short16; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(ulong3 v) { - union _type_cast_32_b u; - u._ulong3 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE double3 as_double3(ulong3 v) { - union _type_cast_32_b u; - u._ulong3 = v; - return u._double3; -} - -INLINE OVERLOADABLE double4 as_double4(ulong3 v) { - union _type_cast_32_b u; - u._ulong3 = v; - return u._double4; -} - -INLINE OVERLOADABLE float8 as_float8(ulong3 v) { - union _type_cast_32_b u; - u._ulong3 = v; - return u._float8; -} - -INLINE OVERLOADABLE long3 as_long3(ulong4 v) { - union _type_cast_32_b u; - u._ulong4 = v; - return u._long3; -} - -INLINE OVERLOADABLE long4 as_long4(ulong4 v) { - union _type_cast_32_b u; - u._ulong4 = v; - return u._long4; -} - -INLINE OVERLOADABLE int8 as_int8(ulong4 v) { - union _type_cast_32_b u; - u._ulong4 = v; - return u._int8; -} - -INLINE OVERLOADABLE uint8 as_uint8(ulong4 v) { - union _type_cast_32_b u; - u._ulong4 = v; - return u._uint8; -} - -INLINE OVERLOADABLE short16 as_short16(ulong4 v) { - union _type_cast_32_b u; - u._ulong4 = v; - return u._short16; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(ulong4 v) { - union _type_cast_32_b u; - u._ulong4 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE double3 as_double3(ulong4 v) { - union _type_cast_32_b u; - u._ulong4 = v; - return u._double3; -} - -INLINE OVERLOADABLE double4 as_double4(ulong4 v) { - union _type_cast_32_b u; - u._ulong4 = v; - return u._double4; -} - -INLINE OVERLOADABLE float8 as_float8(ulong4 v) { - union _type_cast_32_b u; - u._ulong4 = v; - return u._float8; -} - -INLINE OVERLOADABLE long3 as_long3(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._long3; -} - -INLINE OVERLOADABLE long4 as_long4(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._long4; -} - -INLINE OVERLOADABLE ulong3 as_ulong3(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._ulong3; -} - -INLINE OVERLOADABLE ulong4 as_ulong4(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._ulong4; -} - -INLINE OVERLOADABLE uint8 as_uint8(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._uint8; -} - -INLINE OVERLOADABLE short16 as_short16(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._short16; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE double3 as_double3(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._double3; -} - -INLINE OVERLOADABLE double4 as_double4(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._double4; -} - -INLINE OVERLOADABLE float8 as_float8(int8 v) { - union _type_cast_32_b u; - u._int8 = v; - return u._float8; -} - -INLINE OVERLOADABLE long3 as_long3(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._long3; -} - -INLINE OVERLOADABLE long4 as_long4(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._long4; -} - -INLINE OVERLOADABLE ulong3 as_ulong3(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._ulong3; -} - -INLINE OVERLOADABLE ulong4 as_ulong4(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._ulong4; -} - -INLINE OVERLOADABLE int8 as_int8(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._int8; -} - -INLINE OVERLOADABLE short16 as_short16(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._short16; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE double3 as_double3(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._double3; -} - -INLINE OVERLOADABLE double4 as_double4(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._double4; -} - -INLINE OVERLOADABLE float8 as_float8(uint8 v) { - union _type_cast_32_b u; - u._uint8 = v; - return u._float8; -} - -INLINE OVERLOADABLE long3 as_long3(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._long3; -} - -INLINE OVERLOADABLE long4 as_long4(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._long4; -} - -INLINE OVERLOADABLE ulong3 as_ulong3(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._ulong3; -} - -INLINE OVERLOADABLE ulong4 as_ulong4(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._ulong4; -} - -INLINE OVERLOADABLE int8 as_int8(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._int8; -} - -INLINE OVERLOADABLE uint8 as_uint8(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._uint8; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE double3 as_double3(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._double3; -} - -INLINE OVERLOADABLE double4 as_double4(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._double4; -} - -INLINE OVERLOADABLE float8 as_float8(short16 v) { - union _type_cast_32_b u; - u._short16 = v; - return u._float8; -} - -INLINE OVERLOADABLE long3 as_long3(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._long3; -} - -INLINE OVERLOADABLE long4 as_long4(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._long4; -} - -INLINE OVERLOADABLE ulong3 as_ulong3(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._ulong3; -} - -INLINE OVERLOADABLE ulong4 as_ulong4(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._ulong4; -} - -INLINE OVERLOADABLE int8 as_int8(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._int8; -} - -INLINE OVERLOADABLE uint8 as_uint8(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._uint8; -} - -INLINE OVERLOADABLE short16 as_short16(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._short16; -} - -INLINE OVERLOADABLE double3 as_double3(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._double3; -} - -INLINE OVERLOADABLE double4 as_double4(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._double4; -} - -INLINE OVERLOADABLE float8 as_float8(ushort16 v) { - union _type_cast_32_b u; - u._ushort16 = v; - return u._float8; -} - -INLINE OVERLOADABLE long3 as_long3(double3 v) { - union _type_cast_32_b u; - u._double3 = v; - return u._long3; -} - -INLINE OVERLOADABLE long4 as_long4(double3 v) { - union _type_cast_32_b u; - u._double3 = v; - return u._long4; -} - -INLINE OVERLOADABLE ulong3 as_ulong3(double3 v) { - union _type_cast_32_b u; - u._double3 = v; - return u._ulong3; -} - -INLINE OVERLOADABLE ulong4 as_ulong4(double3 v) { - union _type_cast_32_b u; - u._double3 = v; - return u._ulong4; -} - -INLINE OVERLOADABLE int8 as_int8(double3 v) { - union _type_cast_32_b u; - u._double3 = v; - return u._int8; -} - -INLINE OVERLOADABLE uint8 as_uint8(double3 v) { - union _type_cast_32_b u; - u._double3 = v; - return u._uint8; -} - -INLINE OVERLOADABLE short16 as_short16(double3 v) { - union _type_cast_32_b u; - u._double3 = v; - return u._short16; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(double3 v) { - union _type_cast_32_b u; - u._double3 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE float8 as_float8(double3 v) { - union _type_cast_32_b u; - u._double3 = v; - return u._float8; -} - -INLINE OVERLOADABLE long3 as_long3(double4 v) { - union _type_cast_32_b u; - u._double4 = v; - return u._long3; -} - -INLINE OVERLOADABLE long4 as_long4(double4 v) { - union _type_cast_32_b u; - u._double4 = v; - return u._long4; -} - -INLINE OVERLOADABLE ulong3 as_ulong3(double4 v) { - union _type_cast_32_b u; - u._double4 = v; - return u._ulong3; -} - -INLINE OVERLOADABLE ulong4 as_ulong4(double4 v) { - union _type_cast_32_b u; - u._double4 = v; - return u._ulong4; -} - -INLINE OVERLOADABLE int8 as_int8(double4 v) { - union _type_cast_32_b u; - u._double4 = v; - return u._int8; -} - -INLINE OVERLOADABLE uint8 as_uint8(double4 v) { - union _type_cast_32_b u; - u._double4 = v; - return u._uint8; -} - -INLINE OVERLOADABLE short16 as_short16(double4 v) { - union _type_cast_32_b u; - u._double4 = v; - return u._short16; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(double4 v) { - union _type_cast_32_b u; - u._double4 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE float8 as_float8(double4 v) { - union _type_cast_32_b u; - u._double4 = v; - return u._float8; -} - -INLINE OVERLOADABLE long3 as_long3(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._long3; -} - -INLINE OVERLOADABLE long4 as_long4(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._long4; -} - -INLINE OVERLOADABLE ulong3 as_ulong3(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._ulong3; -} - -INLINE OVERLOADABLE ulong4 as_ulong4(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._ulong4; -} - -INLINE OVERLOADABLE int8 as_int8(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._int8; -} - -INLINE OVERLOADABLE uint8 as_uint8(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._uint8; -} - -INLINE OVERLOADABLE short16 as_short16(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._short16; -} - -INLINE OVERLOADABLE ushort16 as_ushort16(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._ushort16; -} - -INLINE OVERLOADABLE double3 as_double3(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._double3; -} - -INLINE OVERLOADABLE double4 as_double4(float8 v) { - union _type_cast_32_b u; - u._float8 = v; - return u._double4; -} - -union _type_cast_64_b { - long8 _long8; - ulong8 _ulong8; - int16 _int16; - uint16 _uint16; - double8 _double8; - float16 _float16; -}; - -INLINE OVERLOADABLE ulong8 as_ulong8(long8 v) { - union _type_cast_64_b u; - u._long8 = v; - return u._ulong8; -} - -INLINE OVERLOADABLE int16 as_int16(long8 v) { - union _type_cast_64_b u; - u._long8 = v; - return u._int16; -} - -INLINE OVERLOADABLE uint16 as_uint16(long8 v) { - union _type_cast_64_b u; - u._long8 = v; - return u._uint16; -} - -INLINE OVERLOADABLE double8 as_double8(long8 v) { - union _type_cast_64_b u; - u._long8 = v; - return u._double8; -} - -INLINE OVERLOADABLE float16 as_float16(long8 v) { - union _type_cast_64_b u; - u._long8 = v; - return u._float16; -} - -INLINE OVERLOADABLE long8 as_long8(ulong8 v) { - union _type_cast_64_b u; - u._ulong8 = v; - return u._long8; -} - -INLINE OVERLOADABLE int16 as_int16(ulong8 v) { - union _type_cast_64_b u; - u._ulong8 = v; - return u._int16; -} - -INLINE OVERLOADABLE uint16 as_uint16(ulong8 v) { - union _type_cast_64_b u; - u._ulong8 = v; - return u._uint16; -} - -INLINE OVERLOADABLE double8 as_double8(ulong8 v) { - union _type_cast_64_b u; - u._ulong8 = v; - return u._double8; -} - -INLINE OVERLOADABLE float16 as_float16(ulong8 v) { - union _type_cast_64_b u; - u._ulong8 = v; - return u._float16; -} - -INLINE OVERLOADABLE long8 as_long8(int16 v) { - union _type_cast_64_b u; - u._int16 = v; - return u._long8; -} - -INLINE OVERLOADABLE ulong8 as_ulong8(int16 v) { - union _type_cast_64_b u; - u._int16 = v; - return u._ulong8; -} - -INLINE OVERLOADABLE uint16 as_uint16(int16 v) { - union _type_cast_64_b u; - u._int16 = v; - return u._uint16; -} - -INLINE OVERLOADABLE double8 as_double8(int16 v) { - union _type_cast_64_b u; - u._int16 = v; - return u._double8; -} - -INLINE OVERLOADABLE float16 as_float16(int16 v) { - union _type_cast_64_b u; - u._int16 = v; - return u._float16; -} - -INLINE OVERLOADABLE long8 as_long8(uint16 v) { - union _type_cast_64_b u; - u._uint16 = v; - return u._long8; -} - -INLINE OVERLOADABLE ulong8 as_ulong8(uint16 v) { - union _type_cast_64_b u; - u._uint16 = v; - return u._ulong8; -} - -INLINE OVERLOADABLE int16 as_int16(uint16 v) { - union _type_cast_64_b u; - u._uint16 = v; - return u._int16; -} - -INLINE OVERLOADABLE double8 as_double8(uint16 v) { - union _type_cast_64_b u; - u._uint16 = v; - return u._double8; -} - -INLINE OVERLOADABLE float16 as_float16(uint16 v) { - union _type_cast_64_b u; - u._uint16 = v; - return u._float16; -} - -INLINE OVERLOADABLE long8 as_long8(double8 v) { - union _type_cast_64_b u; - u._double8 = v; - return u._long8; -} - -INLINE OVERLOADABLE ulong8 as_ulong8(double8 v) { - union _type_cast_64_b u; - u._double8 = v; - return u._ulong8; -} - -INLINE OVERLOADABLE int16 as_int16(double8 v) { - union _type_cast_64_b u; - u._double8 = v; - return u._int16; -} - -INLINE OVERLOADABLE uint16 as_uint16(double8 v) { - union _type_cast_64_b u; - u._double8 = v; - return u._uint16; -} - -INLINE OVERLOADABLE float16 as_float16(double8 v) { - union _type_cast_64_b u; - u._double8 = v; - return u._float16; -} - -INLINE OVERLOADABLE long8 as_long8(float16 v) { - union _type_cast_64_b u; - u._float16 = v; - return u._long8; -} - -INLINE OVERLOADABLE ulong8 as_ulong8(float16 v) { - union _type_cast_64_b u; - u._float16 = v; - return u._ulong8; -} - -INLINE OVERLOADABLE int16 as_int16(float16 v) { - union _type_cast_64_b u; - u._float16 = v; - return u._int16; -} - -INLINE OVERLOADABLE uint16 as_uint16(float16 v) { - union _type_cast_64_b u; - u._float16 = v; - return u._uint16; -} - -INLINE OVERLOADABLE double8 as_double8(float16 v) { - union _type_cast_64_b u; - u._float16 = v; - return u._double8; -} - -union _type_cast_128_b { - long16 _long16; - ulong16 _ulong16; - double16 _double16; -}; - -INLINE OVERLOADABLE ulong16 as_ulong16(long16 v) { - union _type_cast_128_b u; - u._long16 = v; - return u._ulong16; -} - -INLINE OVERLOADABLE double16 as_double16(long16 v) { - union _type_cast_128_b u; - u._long16 = v; - return u._double16; -} - -INLINE OVERLOADABLE long16 as_long16(ulong16 v) { - union _type_cast_128_b u; - u._ulong16 = v; - return u._long16; -} - -INLINE OVERLOADABLE double16 as_double16(ulong16 v) { - union _type_cast_128_b u; - u._ulong16 = v; - return u._double16; -} - -INLINE OVERLOADABLE long16 as_long16(double16 v) { - union _type_cast_128_b u; - u._double16 = v; - return u._long16; -} - -INLINE OVERLOADABLE ulong16 as_ulong16(double16 v) { - union _type_cast_128_b u; - u._double16 = v; - return u._ulong16; -} - diff --git a/backend/src/ocl_barrier.ll b/backend/src/ocl_barrier.ll deleted file mode 100644 index 4e55fcb..0000000 --- a/backend/src/ocl_barrier.ll +++ /dev/null @@ -1,39 +0,0 @@ -;XXX FIXME as llvm can't use macros, we hardcoded 3, 1, 2 -;here, we may need to use a more grace way to handle this type -;of values latter. -;#define CLK_LOCAL_MEM_FENCE (1 << 0) -;#define CLK_GLOBAL_MEM_FENCE (1 << 1) - -declare i32 @_get_local_mem_fence() nounwind alwaysinline -declare i32 @_get_global_mem_fence() nounwind alwaysinline -declare void @__gen_ocl_barrier_local() nounwind alwaysinline noduplicate -declare void @__gen_ocl_barrier_global() nounwind alwaysinline noduplicate -declare void @__gen_ocl_barrier_local_and_global() nounwind alwaysinline noduplicate - -define void @barrier(i32 %flags) nounwind noduplicate alwaysinline { - %1 = icmp eq i32 %flags, 3 - br i1 %1, label %barrier_local_global, label %barrier_local_check - -barrier_local_global: - call void @__gen_ocl_barrier_local_and_global() - br label %done - -barrier_local_check: - %2 = icmp eq i32 %flags, 1 - br i1 %2, label %barrier_local, label %barrier_global_check - -barrier_local: - call void @__gen_ocl_barrier_local() - br label %done - -barrier_global_check: - %3 = icmp eq i32 %flags, 2 - br i1 %3, label %barrier_global, label %done - -barrier_global: - call void @__gen_ocl_barrier_global() - br label %done - -done: - ret void -} diff --git a/backend/src/ocl_convert.h b/backend/src/ocl_convert.h deleted file mode 100644 index 8326768..0000000 --- a/backend/src/ocl_convert.h +++ /dev/null @@ -1,17415 +0,0 @@ -// This file is autogenerated by gen_convert.sh. -// Don't modify it manually. -INLINE OVERLOADABLE long convert_long(long v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(long v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(long v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(long v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(long v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(long v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(long v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(long v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(long v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(long v) { - return (float)v; -} - -INLINE OVERLOADABLE long convert_long(ulong v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(ulong v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(ulong v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(ulong v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(ulong v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(ulong v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(ulong v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(ulong v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(ulong v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(ulong v) { - return (float)v; -} - -INLINE OVERLOADABLE long convert_long(int v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(int v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(int v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(int v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(int v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(int v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(int v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(int v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(int v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(int v) { - return (float)v; -} - -INLINE OVERLOADABLE long convert_long(uint v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(uint v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(uint v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(uint v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(uint v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(uint v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(uint v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(uint v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(uint v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(uint v) { - return (float)v; -} - -INLINE OVERLOADABLE long convert_long(short v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(short v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(short v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(short v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(short v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(short v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(short v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(short v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(short v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(short v) { - return (float)v; -} - -INLINE OVERLOADABLE long convert_long(ushort v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(ushort v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(ushort v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(ushort v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(ushort v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(ushort v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(ushort v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(ushort v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(ushort v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(ushort v) { - return (float)v; -} - -INLINE OVERLOADABLE long convert_long(char v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(char v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(char v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(char v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(char v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(char v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(char v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(char v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(char v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(char v) { - return (float)v; -} - -INLINE OVERLOADABLE long convert_long(uchar v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(uchar v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(uchar v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(uchar v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(uchar v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(uchar v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(uchar v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(uchar v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(uchar v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(uchar v) { - return (float)v; -} - -INLINE OVERLOADABLE long convert_long(double v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(double v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(double v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(double v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(double v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(double v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(double v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(double v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(double v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(double v) { - return (float)v; -} - -INLINE OVERLOADABLE long convert_long(float v) { - return (long)v; -} - -INLINE OVERLOADABLE ulong convert_ulong(float v) { - return (ulong)v; -} - -INLINE OVERLOADABLE int convert_int(float v) { - return (int)v; -} - -INLINE OVERLOADABLE uint convert_uint(float v) { - return (uint)v; -} - -INLINE OVERLOADABLE short convert_short(float v) { - return (short)v; -} - -INLINE OVERLOADABLE ushort convert_ushort(float v) { - return (ushort)v; -} - -INLINE OVERLOADABLE char convert_char(float v) { - return (char)v; -} - -INLINE OVERLOADABLE uchar convert_uchar(float v) { - return (uchar)v; -} - -INLINE OVERLOADABLE double convert_double(float v) { - return (double)v; -} - -INLINE OVERLOADABLE float convert_float(float v) { - return (float)v; -} - -INLINE OVERLOADABLE long2 convert_long2(long2 v) { return v; } -INLINE OVERLOADABLE ulong2 convert_ulong2(long2 v) { - return (ulong2)((ulong)(v.s0), (ulong)(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2(long2 v) { - return (int2)((int)(v.s0), (int)(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2(long2 v) { - return (uint2)((uint)(v.s0), (uint)(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2(long2 v) { - return (short2)((short)(v.s0), (short)(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2(long2 v) { - return (ushort2)((ushort)(v.s0), (ushort)(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2(long2 v) { - return (char2)((char)(v.s0), (char)(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2(long2 v) { - return (uchar2)((uchar)(v.s0), (uchar)(v.s1)); -} - -INLINE OVERLOADABLE double2 convert_double2(long2 v) { - return (double2)((double)(v.s0), (double)(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2(long2 v) { - return (float2)((float)(v.s0), (float)(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2(ulong2 v) { - return (long2)((long)(v.s0), (long)(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2(ulong2 v) { return v; } -INLINE OVERLOADABLE int2 convert_int2(ulong2 v) { - return (int2)((int)(v.s0), (int)(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2(ulong2 v) { - return (uint2)((uint)(v.s0), (uint)(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2(ulong2 v) { - return (short2)((short)(v.s0), (short)(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2(ulong2 v) { - return (ushort2)((ushort)(v.s0), (ushort)(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2(ulong2 v) { - return (char2)((char)(v.s0), (char)(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2(ulong2 v) { - return (uchar2)((uchar)(v.s0), (uchar)(v.s1)); -} - -INLINE OVERLOADABLE double2 convert_double2(ulong2 v) { - return (double2)((double)(v.s0), (double)(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2(ulong2 v) { - return (float2)((float)(v.s0), (float)(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2(int2 v) { - return (long2)((long)(v.s0), (long)(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2(int2 v) { - return (ulong2)((ulong)(v.s0), (ulong)(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2(int2 v) { return v; } -INLINE OVERLOADABLE uint2 convert_uint2(int2 v) { - return (uint2)((uint)(v.s0), (uint)(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2(int2 v) { - return (short2)((short)(v.s0), (short)(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2(int2 v) { - return (ushort2)((ushort)(v.s0), (ushort)(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2(int2 v) { - return (char2)((char)(v.s0), (char)(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2(int2 v) { - return (uchar2)((uchar)(v.s0), (uchar)(v.s1)); -} - -INLINE OVERLOADABLE double2 convert_double2(int2 v) { - return (double2)((double)(v.s0), (double)(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2(int2 v) { - return (float2)((float)(v.s0), (float)(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2(uint2 v) { - return (long2)((long)(v.s0), (long)(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2(uint2 v) { - return (ulong2)((ulong)(v.s0), (ulong)(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2(uint2 v) { - return (int2)((int)(v.s0), (int)(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2(uint2 v) { return v; } -INLINE OVERLOADABLE short2 convert_short2(uint2 v) { - return (short2)((short)(v.s0), (short)(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2(uint2 v) { - return (ushort2)((ushort)(v.s0), (ushort)(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2(uint2 v) { - return (char2)((char)(v.s0), (char)(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2(uint2 v) { - return (uchar2)((uchar)(v.s0), (uchar)(v.s1)); -} - -INLINE OVERLOADABLE double2 convert_double2(uint2 v) { - return (double2)((double)(v.s0), (double)(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2(uint2 v) { - return (float2)((float)(v.s0), (float)(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2(short2 v) { - return (long2)((long)(v.s0), (long)(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2(short2 v) { - return (ulong2)((ulong)(v.s0), (ulong)(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2(short2 v) { - return (int2)((int)(v.s0), (int)(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2(short2 v) { - return (uint2)((uint)(v.s0), (uint)(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2(short2 v) { return v; } -INLINE OVERLOADABLE ushort2 convert_ushort2(short2 v) { - return (ushort2)((ushort)(v.s0), (ushort)(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2(short2 v) { - return (char2)((char)(v.s0), (char)(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2(short2 v) { - return (uchar2)((uchar)(v.s0), (uchar)(v.s1)); -} - -INLINE OVERLOADABLE double2 convert_double2(short2 v) { - return (double2)((double)(v.s0), (double)(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2(short2 v) { - return (float2)((float)(v.s0), (float)(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2(ushort2 v) { - return (long2)((long)(v.s0), (long)(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2(ushort2 v) { - return (ulong2)((ulong)(v.s0), (ulong)(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2(ushort2 v) { - return (int2)((int)(v.s0), (int)(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2(ushort2 v) { - return (uint2)((uint)(v.s0), (uint)(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2(ushort2 v) { - return (short2)((short)(v.s0), (short)(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2(ushort2 v) { return v; } -INLINE OVERLOADABLE char2 convert_char2(ushort2 v) { - return (char2)((char)(v.s0), (char)(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2(ushort2 v) { - return (uchar2)((uchar)(v.s0), (uchar)(v.s1)); -} - -INLINE OVERLOADABLE double2 convert_double2(ushort2 v) { - return (double2)((double)(v.s0), (double)(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2(ushort2 v) { - return (float2)((float)(v.s0), (float)(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2(char2 v) { - return (long2)((long)(v.s0), (long)(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2(char2 v) { - return (ulong2)((ulong)(v.s0), (ulong)(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2(char2 v) { - return (int2)((int)(v.s0), (int)(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2(char2 v) { - return (uint2)((uint)(v.s0), (uint)(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2(char2 v) { - return (short2)((short)(v.s0), (short)(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2(char2 v) { - return (ushort2)((ushort)(v.s0), (ushort)(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2(char2 v) { return v; } -INLINE OVERLOADABLE uchar2 convert_uchar2(char2 v) { - return (uchar2)((uchar)(v.s0), (uchar)(v.s1)); -} - -INLINE OVERLOADABLE double2 convert_double2(char2 v) { - return (double2)((double)(v.s0), (double)(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2(char2 v) { - return (float2)((float)(v.s0), (float)(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2(uchar2 v) { - return (long2)((long)(v.s0), (long)(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2(uchar2 v) { - return (ulong2)((ulong)(v.s0), (ulong)(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2(uchar2 v) { - return (int2)((int)(v.s0), (int)(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2(uchar2 v) { - return (uint2)((uint)(v.s0), (uint)(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2(uchar2 v) { - return (short2)((short)(v.s0), (short)(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2(uchar2 v) { - return (ushort2)((ushort)(v.s0), (ushort)(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2(uchar2 v) { - return (char2)((char)(v.s0), (char)(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2(uchar2 v) { return v; } -INLINE OVERLOADABLE double2 convert_double2(uchar2 v) { - return (double2)((double)(v.s0), (double)(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2(uchar2 v) { - return (float2)((float)(v.s0), (float)(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2(double2 v) { - return (long2)((long)(v.s0), (long)(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2(double2 v) { - return (ulong2)((ulong)(v.s0), (ulong)(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2(double2 v) { - return (int2)((int)(v.s0), (int)(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2(double2 v) { - return (uint2)((uint)(v.s0), (uint)(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2(double2 v) { - return (short2)((short)(v.s0), (short)(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2(double2 v) { - return (ushort2)((ushort)(v.s0), (ushort)(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2(double2 v) { - return (char2)((char)(v.s0), (char)(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2(double2 v) { - return (uchar2)((uchar)(v.s0), (uchar)(v.s1)); -} - -INLINE OVERLOADABLE double2 convert_double2(double2 v) { return v; } -INLINE OVERLOADABLE float2 convert_float2(double2 v) { - return (float2)((float)(v.s0), (float)(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2(float2 v) { - return (long2)((long)(v.s0), (long)(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2(float2 v) { - return (ulong2)((ulong)(v.s0), (ulong)(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2(float2 v) { - return (int2)((int)(v.s0), (int)(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2(float2 v) { - return (uint2)((uint)(v.s0), (uint)(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2(float2 v) { - return (short2)((short)(v.s0), (short)(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2(float2 v) { - return (ushort2)((ushort)(v.s0), (ushort)(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2(float2 v) { - return (char2)((char)(v.s0), (char)(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2(float2 v) { - return (uchar2)((uchar)(v.s0), (uchar)(v.s1)); -} - -INLINE OVERLOADABLE double2 convert_double2(float2 v) { - return (double2)((double)(v.s0), (double)(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2(float2 v) { return v; } -INLINE OVERLOADABLE long3 convert_long3(long3 v) { return v; } -INLINE OVERLOADABLE ulong3 convert_ulong3(long3 v) { - return (ulong3)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3(long3 v) { - return (int3)((int)(v.s0), (int)(v.s1), (int)(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3(long3 v) { - return (uint3)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3(long3 v) { - return (short3)((short)(v.s0), (short)(v.s1), (short)(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3(long3 v) { - return (ushort3)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3(long3 v) { - return (char3)((char)(v.s0), (char)(v.s1), (char)(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3(long3 v) { - return (uchar3)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2)); -} - -INLINE OVERLOADABLE double3 convert_double3(long3 v) { - return (double3)((double)(v.s0), (double)(v.s1), (double)(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3(long3 v) { - return (float3)((float)(v.s0), (float)(v.s1), (float)(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3(ulong3 v) { - return (long3)((long)(v.s0), (long)(v.s1), (long)(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3(ulong3 v) { return v; } -INLINE OVERLOADABLE int3 convert_int3(ulong3 v) { - return (int3)((int)(v.s0), (int)(v.s1), (int)(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3(ulong3 v) { - return (uint3)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3(ulong3 v) { - return (short3)((short)(v.s0), (short)(v.s1), (short)(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3(ulong3 v) { - return (ushort3)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3(ulong3 v) { - return (char3)((char)(v.s0), (char)(v.s1), (char)(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3(ulong3 v) { - return (uchar3)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2)); -} - -INLINE OVERLOADABLE double3 convert_double3(ulong3 v) { - return (double3)((double)(v.s0), (double)(v.s1), (double)(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3(ulong3 v) { - return (float3)((float)(v.s0), (float)(v.s1), (float)(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3(int3 v) { - return (long3)((long)(v.s0), (long)(v.s1), (long)(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3(int3 v) { - return (ulong3)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3(int3 v) { return v; } -INLINE OVERLOADABLE uint3 convert_uint3(int3 v) { - return (uint3)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3(int3 v) { - return (short3)((short)(v.s0), (short)(v.s1), (short)(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3(int3 v) { - return (ushort3)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3(int3 v) { - return (char3)((char)(v.s0), (char)(v.s1), (char)(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3(int3 v) { - return (uchar3)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2)); -} - -INLINE OVERLOADABLE double3 convert_double3(int3 v) { - return (double3)((double)(v.s0), (double)(v.s1), (double)(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3(int3 v) { - return (float3)((float)(v.s0), (float)(v.s1), (float)(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3(uint3 v) { - return (long3)((long)(v.s0), (long)(v.s1), (long)(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3(uint3 v) { - return (ulong3)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3(uint3 v) { - return (int3)((int)(v.s0), (int)(v.s1), (int)(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3(uint3 v) { return v; } -INLINE OVERLOADABLE short3 convert_short3(uint3 v) { - return (short3)((short)(v.s0), (short)(v.s1), (short)(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3(uint3 v) { - return (ushort3)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3(uint3 v) { - return (char3)((char)(v.s0), (char)(v.s1), (char)(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3(uint3 v) { - return (uchar3)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2)); -} - -INLINE OVERLOADABLE double3 convert_double3(uint3 v) { - return (double3)((double)(v.s0), (double)(v.s1), (double)(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3(uint3 v) { - return (float3)((float)(v.s0), (float)(v.s1), (float)(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3(short3 v) { - return (long3)((long)(v.s0), (long)(v.s1), (long)(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3(short3 v) { - return (ulong3)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3(short3 v) { - return (int3)((int)(v.s0), (int)(v.s1), (int)(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3(short3 v) { - return (uint3)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3(short3 v) { return v; } -INLINE OVERLOADABLE ushort3 convert_ushort3(short3 v) { - return (ushort3)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3(short3 v) { - return (char3)((char)(v.s0), (char)(v.s1), (char)(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3(short3 v) { - return (uchar3)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2)); -} - -INLINE OVERLOADABLE double3 convert_double3(short3 v) { - return (double3)((double)(v.s0), (double)(v.s1), (double)(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3(short3 v) { - return (float3)((float)(v.s0), (float)(v.s1), (float)(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3(ushort3 v) { - return (long3)((long)(v.s0), (long)(v.s1), (long)(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3(ushort3 v) { - return (ulong3)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3(ushort3 v) { - return (int3)((int)(v.s0), (int)(v.s1), (int)(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3(ushort3 v) { - return (uint3)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3(ushort3 v) { - return (short3)((short)(v.s0), (short)(v.s1), (short)(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3(ushort3 v) { return v; } -INLINE OVERLOADABLE char3 convert_char3(ushort3 v) { - return (char3)((char)(v.s0), (char)(v.s1), (char)(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3(ushort3 v) { - return (uchar3)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2)); -} - -INLINE OVERLOADABLE double3 convert_double3(ushort3 v) { - return (double3)((double)(v.s0), (double)(v.s1), (double)(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3(ushort3 v) { - return (float3)((float)(v.s0), (float)(v.s1), (float)(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3(char3 v) { - return (long3)((long)(v.s0), (long)(v.s1), (long)(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3(char3 v) { - return (ulong3)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3(char3 v) { - return (int3)((int)(v.s0), (int)(v.s1), (int)(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3(char3 v) { - return (uint3)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3(char3 v) { - return (short3)((short)(v.s0), (short)(v.s1), (short)(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3(char3 v) { - return (ushort3)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3(char3 v) { return v; } -INLINE OVERLOADABLE uchar3 convert_uchar3(char3 v) { - return (uchar3)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2)); -} - -INLINE OVERLOADABLE double3 convert_double3(char3 v) { - return (double3)((double)(v.s0), (double)(v.s1), (double)(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3(char3 v) { - return (float3)((float)(v.s0), (float)(v.s1), (float)(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3(uchar3 v) { - return (long3)((long)(v.s0), (long)(v.s1), (long)(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3(uchar3 v) { - return (ulong3)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3(uchar3 v) { - return (int3)((int)(v.s0), (int)(v.s1), (int)(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3(uchar3 v) { - return (uint3)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3(uchar3 v) { - return (short3)((short)(v.s0), (short)(v.s1), (short)(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3(uchar3 v) { - return (ushort3)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3(uchar3 v) { - return (char3)((char)(v.s0), (char)(v.s1), (char)(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3(uchar3 v) { return v; } -INLINE OVERLOADABLE double3 convert_double3(uchar3 v) { - return (double3)((double)(v.s0), (double)(v.s1), (double)(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3(uchar3 v) { - return (float3)((float)(v.s0), (float)(v.s1), (float)(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3(double3 v) { - return (long3)((long)(v.s0), (long)(v.s1), (long)(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3(double3 v) { - return (ulong3)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3(double3 v) { - return (int3)((int)(v.s0), (int)(v.s1), (int)(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3(double3 v) { - return (uint3)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3(double3 v) { - return (short3)((short)(v.s0), (short)(v.s1), (short)(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3(double3 v) { - return (ushort3)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3(double3 v) { - return (char3)((char)(v.s0), (char)(v.s1), (char)(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3(double3 v) { - return (uchar3)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2)); -} - -INLINE OVERLOADABLE double3 convert_double3(double3 v) { return v; } -INLINE OVERLOADABLE float3 convert_float3(double3 v) { - return (float3)((float)(v.s0), (float)(v.s1), (float)(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3(float3 v) { - return (long3)((long)(v.s0), (long)(v.s1), (long)(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3(float3 v) { - return (ulong3)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3(float3 v) { - return (int3)((int)(v.s0), (int)(v.s1), (int)(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3(float3 v) { - return (uint3)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3(float3 v) { - return (short3)((short)(v.s0), (short)(v.s1), (short)(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3(float3 v) { - return (ushort3)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3(float3 v) { - return (char3)((char)(v.s0), (char)(v.s1), (char)(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3(float3 v) { - return (uchar3)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2)); -} - -INLINE OVERLOADABLE double3 convert_double3(float3 v) { - return (double3)((double)(v.s0), (double)(v.s1), (double)(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3(float3 v) { return v; } -INLINE OVERLOADABLE long4 convert_long4(long4 v) { return v; } -INLINE OVERLOADABLE ulong4 convert_ulong4(long4 v) { - return (ulong4)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4(long4 v) { - return (int4)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4(long4 v) { - return (uint4)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4(long4 v) { - return (short4)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4(long4 v) { - return (ushort4)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4(long4 v) { - return (char4)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4(long4 v) { - return (uchar4)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3)); -} - -INLINE OVERLOADABLE double4 convert_double4(long4 v) { - return (double4)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4(long4 v) { - return (float4)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4(ulong4 v) { - return (long4)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4(ulong4 v) { return v; } -INLINE OVERLOADABLE int4 convert_int4(ulong4 v) { - return (int4)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4(ulong4 v) { - return (uint4)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4(ulong4 v) { - return (short4)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4(ulong4 v) { - return (ushort4)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4(ulong4 v) { - return (char4)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4(ulong4 v) { - return (uchar4)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3)); -} - -INLINE OVERLOADABLE double4 convert_double4(ulong4 v) { - return (double4)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4(ulong4 v) { - return (float4)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4(int4 v) { - return (long4)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4(int4 v) { - return (ulong4)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4(int4 v) { return v; } -INLINE OVERLOADABLE uint4 convert_uint4(int4 v) { - return (uint4)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4(int4 v) { - return (short4)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4(int4 v) { - return (ushort4)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4(int4 v) { - return (char4)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4(int4 v) { - return (uchar4)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3)); -} - -INLINE OVERLOADABLE double4 convert_double4(int4 v) { - return (double4)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4(int4 v) { - return (float4)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4(uint4 v) { - return (long4)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4(uint4 v) { - return (ulong4)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4(uint4 v) { - return (int4)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4(uint4 v) { return v; } -INLINE OVERLOADABLE short4 convert_short4(uint4 v) { - return (short4)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4(uint4 v) { - return (ushort4)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4(uint4 v) { - return (char4)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4(uint4 v) { - return (uchar4)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3)); -} - -INLINE OVERLOADABLE double4 convert_double4(uint4 v) { - return (double4)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4(uint4 v) { - return (float4)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4(short4 v) { - return (long4)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4(short4 v) { - return (ulong4)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4(short4 v) { - return (int4)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4(short4 v) { - return (uint4)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4(short4 v) { return v; } -INLINE OVERLOADABLE ushort4 convert_ushort4(short4 v) { - return (ushort4)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4(short4 v) { - return (char4)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4(short4 v) { - return (uchar4)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3)); -} - -INLINE OVERLOADABLE double4 convert_double4(short4 v) { - return (double4)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4(short4 v) { - return (float4)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4(ushort4 v) { - return (long4)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4(ushort4 v) { - return (ulong4)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4(ushort4 v) { - return (int4)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4(ushort4 v) { - return (uint4)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4(ushort4 v) { - return (short4)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4(ushort4 v) { return v; } -INLINE OVERLOADABLE char4 convert_char4(ushort4 v) { - return (char4)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4(ushort4 v) { - return (uchar4)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3)); -} - -INLINE OVERLOADABLE double4 convert_double4(ushort4 v) { - return (double4)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4(ushort4 v) { - return (float4)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4(char4 v) { - return (long4)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4(char4 v) { - return (ulong4)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4(char4 v) { - return (int4)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4(char4 v) { - return (uint4)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4(char4 v) { - return (short4)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4(char4 v) { - return (ushort4)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4(char4 v) { return v; } -INLINE OVERLOADABLE uchar4 convert_uchar4(char4 v) { - return (uchar4)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3)); -} - -INLINE OVERLOADABLE double4 convert_double4(char4 v) { - return (double4)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4(char4 v) { - return (float4)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4(uchar4 v) { - return (long4)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4(uchar4 v) { - return (ulong4)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4(uchar4 v) { - return (int4)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4(uchar4 v) { - return (uint4)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4(uchar4 v) { - return (short4)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4(uchar4 v) { - return (ushort4)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4(uchar4 v) { - return (char4)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4(uchar4 v) { return v; } -INLINE OVERLOADABLE double4 convert_double4(uchar4 v) { - return (double4)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4(uchar4 v) { - return (float4)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4(double4 v) { - return (long4)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4(double4 v) { - return (ulong4)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4(double4 v) { - return (int4)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4(double4 v) { - return (uint4)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4(double4 v) { - return (short4)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4(double4 v) { - return (ushort4)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4(double4 v) { - return (char4)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4(double4 v) { - return (uchar4)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3)); -} - -INLINE OVERLOADABLE double4 convert_double4(double4 v) { return v; } -INLINE OVERLOADABLE float4 convert_float4(double4 v) { - return (float4)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4(float4 v) { - return (long4)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4(float4 v) { - return (ulong4)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4(float4 v) { - return (int4)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4(float4 v) { - return (uint4)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4(float4 v) { - return (short4)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4(float4 v) { - return (ushort4)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4(float4 v) { - return (char4)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4(float4 v) { - return (uchar4)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3)); -} - -INLINE OVERLOADABLE double4 convert_double4(float4 v) { - return (double4)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4(float4 v) { return v; } -INLINE OVERLOADABLE long8 convert_long8(long8 v) { return v; } -INLINE OVERLOADABLE ulong8 convert_ulong8(long8 v) { - return (ulong8)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8(long8 v) { - return (int8)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8(long8 v) { - return (uint8)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8(long8 v) { - return (short8)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8(long8 v) { - return (ushort8)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8(long8 v) { - return (char8)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8(long8 v) { - return (uchar8)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7)); -} - -INLINE OVERLOADABLE double8 convert_double8(long8 v) { - return (double8)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8(long8 v) { - return (float8)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8(ulong8 v) { - return (long8)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8(ulong8 v) { return v; } -INLINE OVERLOADABLE int8 convert_int8(ulong8 v) { - return (int8)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8(ulong8 v) { - return (uint8)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8(ulong8 v) { - return (short8)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8(ulong8 v) { - return (ushort8)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8(ulong8 v) { - return (char8)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8(ulong8 v) { - return (uchar8)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7)); -} - -INLINE OVERLOADABLE double8 convert_double8(ulong8 v) { - return (double8)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8(ulong8 v) { - return (float8)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8(int8 v) { - return (long8)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8(int8 v) { - return (ulong8)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8(int8 v) { return v; } -INLINE OVERLOADABLE uint8 convert_uint8(int8 v) { - return (uint8)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8(int8 v) { - return (short8)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8(int8 v) { - return (ushort8)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8(int8 v) { - return (char8)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8(int8 v) { - return (uchar8)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7)); -} - -INLINE OVERLOADABLE double8 convert_double8(int8 v) { - return (double8)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8(int8 v) { - return (float8)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8(uint8 v) { - return (long8)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8(uint8 v) { - return (ulong8)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8(uint8 v) { - return (int8)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8(uint8 v) { return v; } -INLINE OVERLOADABLE short8 convert_short8(uint8 v) { - return (short8)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8(uint8 v) { - return (ushort8)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8(uint8 v) { - return (char8)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8(uint8 v) { - return (uchar8)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7)); -} - -INLINE OVERLOADABLE double8 convert_double8(uint8 v) { - return (double8)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8(uint8 v) { - return (float8)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8(short8 v) { - return (long8)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8(short8 v) { - return (ulong8)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8(short8 v) { - return (int8)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8(short8 v) { - return (uint8)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8(short8 v) { return v; } -INLINE OVERLOADABLE ushort8 convert_ushort8(short8 v) { - return (ushort8)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8(short8 v) { - return (char8)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8(short8 v) { - return (uchar8)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7)); -} - -INLINE OVERLOADABLE double8 convert_double8(short8 v) { - return (double8)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8(short8 v) { - return (float8)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8(ushort8 v) { - return (long8)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8(ushort8 v) { - return (ulong8)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8(ushort8 v) { - return (int8)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8(ushort8 v) { - return (uint8)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8(ushort8 v) { - return (short8)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8(ushort8 v) { return v; } -INLINE OVERLOADABLE char8 convert_char8(ushort8 v) { - return (char8)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8(ushort8 v) { - return (uchar8)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7)); -} - -INLINE OVERLOADABLE double8 convert_double8(ushort8 v) { - return (double8)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8(ushort8 v) { - return (float8)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8(char8 v) { - return (long8)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8(char8 v) { - return (ulong8)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8(char8 v) { - return (int8)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8(char8 v) { - return (uint8)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8(char8 v) { - return (short8)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8(char8 v) { - return (ushort8)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8(char8 v) { return v; } -INLINE OVERLOADABLE uchar8 convert_uchar8(char8 v) { - return (uchar8)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7)); -} - -INLINE OVERLOADABLE double8 convert_double8(char8 v) { - return (double8)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8(char8 v) { - return (float8)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8(uchar8 v) { - return (long8)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8(uchar8 v) { - return (ulong8)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8(uchar8 v) { - return (int8)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8(uchar8 v) { - return (uint8)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8(uchar8 v) { - return (short8)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8(uchar8 v) { - return (ushort8)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8(uchar8 v) { - return (char8)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8(uchar8 v) { return v; } -INLINE OVERLOADABLE double8 convert_double8(uchar8 v) { - return (double8)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8(uchar8 v) { - return (float8)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8(double8 v) { - return (long8)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8(double8 v) { - return (ulong8)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8(double8 v) { - return (int8)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8(double8 v) { - return (uint8)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8(double8 v) { - return (short8)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8(double8 v) { - return (ushort8)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8(double8 v) { - return (char8)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8(double8 v) { - return (uchar8)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7)); -} - -INLINE OVERLOADABLE double8 convert_double8(double8 v) { return v; } -INLINE OVERLOADABLE float8 convert_float8(double8 v) { - return (float8)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8(float8 v) { - return (long8)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8(float8 v) { - return (ulong8)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8(float8 v) { - return (int8)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8(float8 v) { - return (uint8)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8(float8 v) { - return (short8)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8(float8 v) { - return (ushort8)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8(float8 v) { - return (char8)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8(float8 v) { - return (uchar8)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7)); -} - -INLINE OVERLOADABLE double8 convert_double8(float8 v) { - return (double8)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8(float8 v) { return v; } -INLINE OVERLOADABLE long16 convert_long16(long16 v) { return v; } -INLINE OVERLOADABLE ulong16 convert_ulong16(long16 v) { - return (ulong16)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7), (ulong)(v.s8), (ulong)(v.s9), (ulong)(v.sA), (ulong)(v.sB), (ulong)(v.sC), (ulong)(v.sD), (ulong)(v.sE), (ulong)(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16(long16 v) { - return (int16)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7), (int)(v.s8), (int)(v.s9), (int)(v.sA), (int)(v.sB), (int)(v.sC), (int)(v.sD), (int)(v.sE), (int)(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16(long16 v) { - return (uint16)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7), (uint)(v.s8), (uint)(v.s9), (uint)(v.sA), (uint)(v.sB), (uint)(v.sC), (uint)(v.sD), (uint)(v.sE), (uint)(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16(long16 v) { - return (short16)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7), (short)(v.s8), (short)(v.s9), (short)(v.sA), (short)(v.sB), (short)(v.sC), (short)(v.sD), (short)(v.sE), (short)(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16(long16 v) { - return (ushort16)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7), (ushort)(v.s8), (ushort)(v.s9), (ushort)(v.sA), (ushort)(v.sB), (ushort)(v.sC), (ushort)(v.sD), (ushort)(v.sE), (ushort)(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16(long16 v) { - return (char16)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7), (char)(v.s8), (char)(v.s9), (char)(v.sA), (char)(v.sB), (char)(v.sC), (char)(v.sD), (char)(v.sE), (char)(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16(long16 v) { - return (uchar16)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7), (uchar)(v.s8), (uchar)(v.s9), (uchar)(v.sA), (uchar)(v.sB), (uchar)(v.sC), (uchar)(v.sD), (uchar)(v.sE), (uchar)(v.sF)); -} - -INLINE OVERLOADABLE double16 convert_double16(long16 v) { - return (double16)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7), (double)(v.s8), (double)(v.s9), (double)(v.sA), (double)(v.sB), (double)(v.sC), (double)(v.sD), (double)(v.sE), (double)(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16(long16 v) { - return (float16)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7), (float)(v.s8), (float)(v.s9), (float)(v.sA), (float)(v.sB), (float)(v.sC), (float)(v.sD), (float)(v.sE), (float)(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16(ulong16 v) { - return (long16)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7), (long)(v.s8), (long)(v.s9), (long)(v.sA), (long)(v.sB), (long)(v.sC), (long)(v.sD), (long)(v.sE), (long)(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16(ulong16 v) { return v; } -INLINE OVERLOADABLE int16 convert_int16(ulong16 v) { - return (int16)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7), (int)(v.s8), (int)(v.s9), (int)(v.sA), (int)(v.sB), (int)(v.sC), (int)(v.sD), (int)(v.sE), (int)(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16(ulong16 v) { - return (uint16)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7), (uint)(v.s8), (uint)(v.s9), (uint)(v.sA), (uint)(v.sB), (uint)(v.sC), (uint)(v.sD), (uint)(v.sE), (uint)(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16(ulong16 v) { - return (short16)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7), (short)(v.s8), (short)(v.s9), (short)(v.sA), (short)(v.sB), (short)(v.sC), (short)(v.sD), (short)(v.sE), (short)(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16(ulong16 v) { - return (ushort16)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7), (ushort)(v.s8), (ushort)(v.s9), (ushort)(v.sA), (ushort)(v.sB), (ushort)(v.sC), (ushort)(v.sD), (ushort)(v.sE), (ushort)(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16(ulong16 v) { - return (char16)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7), (char)(v.s8), (char)(v.s9), (char)(v.sA), (char)(v.sB), (char)(v.sC), (char)(v.sD), (char)(v.sE), (char)(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16(ulong16 v) { - return (uchar16)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7), (uchar)(v.s8), (uchar)(v.s9), (uchar)(v.sA), (uchar)(v.sB), (uchar)(v.sC), (uchar)(v.sD), (uchar)(v.sE), (uchar)(v.sF)); -} - -INLINE OVERLOADABLE double16 convert_double16(ulong16 v) { - return (double16)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7), (double)(v.s8), (double)(v.s9), (double)(v.sA), (double)(v.sB), (double)(v.sC), (double)(v.sD), (double)(v.sE), (double)(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16(ulong16 v) { - return (float16)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7), (float)(v.s8), (float)(v.s9), (float)(v.sA), (float)(v.sB), (float)(v.sC), (float)(v.sD), (float)(v.sE), (float)(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16(int16 v) { - return (long16)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7), (long)(v.s8), (long)(v.s9), (long)(v.sA), (long)(v.sB), (long)(v.sC), (long)(v.sD), (long)(v.sE), (long)(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16(int16 v) { - return (ulong16)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7), (ulong)(v.s8), (ulong)(v.s9), (ulong)(v.sA), (ulong)(v.sB), (ulong)(v.sC), (ulong)(v.sD), (ulong)(v.sE), (ulong)(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16(int16 v) { return v; } -INLINE OVERLOADABLE uint16 convert_uint16(int16 v) { - return (uint16)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7), (uint)(v.s8), (uint)(v.s9), (uint)(v.sA), (uint)(v.sB), (uint)(v.sC), (uint)(v.sD), (uint)(v.sE), (uint)(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16(int16 v) { - return (short16)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7), (short)(v.s8), (short)(v.s9), (short)(v.sA), (short)(v.sB), (short)(v.sC), (short)(v.sD), (short)(v.sE), (short)(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16(int16 v) { - return (ushort16)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7), (ushort)(v.s8), (ushort)(v.s9), (ushort)(v.sA), (ushort)(v.sB), (ushort)(v.sC), (ushort)(v.sD), (ushort)(v.sE), (ushort)(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16(int16 v) { - return (char16)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7), (char)(v.s8), (char)(v.s9), (char)(v.sA), (char)(v.sB), (char)(v.sC), (char)(v.sD), (char)(v.sE), (char)(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16(int16 v) { - return (uchar16)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7), (uchar)(v.s8), (uchar)(v.s9), (uchar)(v.sA), (uchar)(v.sB), (uchar)(v.sC), (uchar)(v.sD), (uchar)(v.sE), (uchar)(v.sF)); -} - -INLINE OVERLOADABLE double16 convert_double16(int16 v) { - return (double16)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7), (double)(v.s8), (double)(v.s9), (double)(v.sA), (double)(v.sB), (double)(v.sC), (double)(v.sD), (double)(v.sE), (double)(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16(int16 v) { - return (float16)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7), (float)(v.s8), (float)(v.s9), (float)(v.sA), (float)(v.sB), (float)(v.sC), (float)(v.sD), (float)(v.sE), (float)(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16(uint16 v) { - return (long16)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7), (long)(v.s8), (long)(v.s9), (long)(v.sA), (long)(v.sB), (long)(v.sC), (long)(v.sD), (long)(v.sE), (long)(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16(uint16 v) { - return (ulong16)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7), (ulong)(v.s8), (ulong)(v.s9), (ulong)(v.sA), (ulong)(v.sB), (ulong)(v.sC), (ulong)(v.sD), (ulong)(v.sE), (ulong)(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16(uint16 v) { - return (int16)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7), (int)(v.s8), (int)(v.s9), (int)(v.sA), (int)(v.sB), (int)(v.sC), (int)(v.sD), (int)(v.sE), (int)(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16(uint16 v) { return v; } -INLINE OVERLOADABLE short16 convert_short16(uint16 v) { - return (short16)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7), (short)(v.s8), (short)(v.s9), (short)(v.sA), (short)(v.sB), (short)(v.sC), (short)(v.sD), (short)(v.sE), (short)(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16(uint16 v) { - return (ushort16)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7), (ushort)(v.s8), (ushort)(v.s9), (ushort)(v.sA), (ushort)(v.sB), (ushort)(v.sC), (ushort)(v.sD), (ushort)(v.sE), (ushort)(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16(uint16 v) { - return (char16)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7), (char)(v.s8), (char)(v.s9), (char)(v.sA), (char)(v.sB), (char)(v.sC), (char)(v.sD), (char)(v.sE), (char)(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16(uint16 v) { - return (uchar16)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7), (uchar)(v.s8), (uchar)(v.s9), (uchar)(v.sA), (uchar)(v.sB), (uchar)(v.sC), (uchar)(v.sD), (uchar)(v.sE), (uchar)(v.sF)); -} - -INLINE OVERLOADABLE double16 convert_double16(uint16 v) { - return (double16)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7), (double)(v.s8), (double)(v.s9), (double)(v.sA), (double)(v.sB), (double)(v.sC), (double)(v.sD), (double)(v.sE), (double)(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16(uint16 v) { - return (float16)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7), (float)(v.s8), (float)(v.s9), (float)(v.sA), (float)(v.sB), (float)(v.sC), (float)(v.sD), (float)(v.sE), (float)(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16(short16 v) { - return (long16)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7), (long)(v.s8), (long)(v.s9), (long)(v.sA), (long)(v.sB), (long)(v.sC), (long)(v.sD), (long)(v.sE), (long)(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16(short16 v) { - return (ulong16)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7), (ulong)(v.s8), (ulong)(v.s9), (ulong)(v.sA), (ulong)(v.sB), (ulong)(v.sC), (ulong)(v.sD), (ulong)(v.sE), (ulong)(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16(short16 v) { - return (int16)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7), (int)(v.s8), (int)(v.s9), (int)(v.sA), (int)(v.sB), (int)(v.sC), (int)(v.sD), (int)(v.sE), (int)(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16(short16 v) { - return (uint16)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7), (uint)(v.s8), (uint)(v.s9), (uint)(v.sA), (uint)(v.sB), (uint)(v.sC), (uint)(v.sD), (uint)(v.sE), (uint)(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16(short16 v) { return v; } -INLINE OVERLOADABLE ushort16 convert_ushort16(short16 v) { - return (ushort16)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7), (ushort)(v.s8), (ushort)(v.s9), (ushort)(v.sA), (ushort)(v.sB), (ushort)(v.sC), (ushort)(v.sD), (ushort)(v.sE), (ushort)(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16(short16 v) { - return (char16)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7), (char)(v.s8), (char)(v.s9), (char)(v.sA), (char)(v.sB), (char)(v.sC), (char)(v.sD), (char)(v.sE), (char)(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16(short16 v) { - return (uchar16)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7), (uchar)(v.s8), (uchar)(v.s9), (uchar)(v.sA), (uchar)(v.sB), (uchar)(v.sC), (uchar)(v.sD), (uchar)(v.sE), (uchar)(v.sF)); -} - -INLINE OVERLOADABLE double16 convert_double16(short16 v) { - return (double16)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7), (double)(v.s8), (double)(v.s9), (double)(v.sA), (double)(v.sB), (double)(v.sC), (double)(v.sD), (double)(v.sE), (double)(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16(short16 v) { - return (float16)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7), (float)(v.s8), (float)(v.s9), (float)(v.sA), (float)(v.sB), (float)(v.sC), (float)(v.sD), (float)(v.sE), (float)(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16(ushort16 v) { - return (long16)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7), (long)(v.s8), (long)(v.s9), (long)(v.sA), (long)(v.sB), (long)(v.sC), (long)(v.sD), (long)(v.sE), (long)(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16(ushort16 v) { - return (ulong16)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7), (ulong)(v.s8), (ulong)(v.s9), (ulong)(v.sA), (ulong)(v.sB), (ulong)(v.sC), (ulong)(v.sD), (ulong)(v.sE), (ulong)(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16(ushort16 v) { - return (int16)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7), (int)(v.s8), (int)(v.s9), (int)(v.sA), (int)(v.sB), (int)(v.sC), (int)(v.sD), (int)(v.sE), (int)(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16(ushort16 v) { - return (uint16)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7), (uint)(v.s8), (uint)(v.s9), (uint)(v.sA), (uint)(v.sB), (uint)(v.sC), (uint)(v.sD), (uint)(v.sE), (uint)(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16(ushort16 v) { - return (short16)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7), (short)(v.s8), (short)(v.s9), (short)(v.sA), (short)(v.sB), (short)(v.sC), (short)(v.sD), (short)(v.sE), (short)(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16(ushort16 v) { return v; } -INLINE OVERLOADABLE char16 convert_char16(ushort16 v) { - return (char16)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7), (char)(v.s8), (char)(v.s9), (char)(v.sA), (char)(v.sB), (char)(v.sC), (char)(v.sD), (char)(v.sE), (char)(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16(ushort16 v) { - return (uchar16)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7), (uchar)(v.s8), (uchar)(v.s9), (uchar)(v.sA), (uchar)(v.sB), (uchar)(v.sC), (uchar)(v.sD), (uchar)(v.sE), (uchar)(v.sF)); -} - -INLINE OVERLOADABLE double16 convert_double16(ushort16 v) { - return (double16)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7), (double)(v.s8), (double)(v.s9), (double)(v.sA), (double)(v.sB), (double)(v.sC), (double)(v.sD), (double)(v.sE), (double)(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16(ushort16 v) { - return (float16)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7), (float)(v.s8), (float)(v.s9), (float)(v.sA), (float)(v.sB), (float)(v.sC), (float)(v.sD), (float)(v.sE), (float)(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16(char16 v) { - return (long16)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7), (long)(v.s8), (long)(v.s9), (long)(v.sA), (long)(v.sB), (long)(v.sC), (long)(v.sD), (long)(v.sE), (long)(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16(char16 v) { - return (ulong16)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7), (ulong)(v.s8), (ulong)(v.s9), (ulong)(v.sA), (ulong)(v.sB), (ulong)(v.sC), (ulong)(v.sD), (ulong)(v.sE), (ulong)(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16(char16 v) { - return (int16)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7), (int)(v.s8), (int)(v.s9), (int)(v.sA), (int)(v.sB), (int)(v.sC), (int)(v.sD), (int)(v.sE), (int)(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16(char16 v) { - return (uint16)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7), (uint)(v.s8), (uint)(v.s9), (uint)(v.sA), (uint)(v.sB), (uint)(v.sC), (uint)(v.sD), (uint)(v.sE), (uint)(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16(char16 v) { - return (short16)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7), (short)(v.s8), (short)(v.s9), (short)(v.sA), (short)(v.sB), (short)(v.sC), (short)(v.sD), (short)(v.sE), (short)(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16(char16 v) { - return (ushort16)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7), (ushort)(v.s8), (ushort)(v.s9), (ushort)(v.sA), (ushort)(v.sB), (ushort)(v.sC), (ushort)(v.sD), (ushort)(v.sE), (ushort)(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16(char16 v) { return v; } -INLINE OVERLOADABLE uchar16 convert_uchar16(char16 v) { - return (uchar16)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7), (uchar)(v.s8), (uchar)(v.s9), (uchar)(v.sA), (uchar)(v.sB), (uchar)(v.sC), (uchar)(v.sD), (uchar)(v.sE), (uchar)(v.sF)); -} - -INLINE OVERLOADABLE double16 convert_double16(char16 v) { - return (double16)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7), (double)(v.s8), (double)(v.s9), (double)(v.sA), (double)(v.sB), (double)(v.sC), (double)(v.sD), (double)(v.sE), (double)(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16(char16 v) { - return (float16)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7), (float)(v.s8), (float)(v.s9), (float)(v.sA), (float)(v.sB), (float)(v.sC), (float)(v.sD), (float)(v.sE), (float)(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16(uchar16 v) { - return (long16)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7), (long)(v.s8), (long)(v.s9), (long)(v.sA), (long)(v.sB), (long)(v.sC), (long)(v.sD), (long)(v.sE), (long)(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16(uchar16 v) { - return (ulong16)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7), (ulong)(v.s8), (ulong)(v.s9), (ulong)(v.sA), (ulong)(v.sB), (ulong)(v.sC), (ulong)(v.sD), (ulong)(v.sE), (ulong)(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16(uchar16 v) { - return (int16)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7), (int)(v.s8), (int)(v.s9), (int)(v.sA), (int)(v.sB), (int)(v.sC), (int)(v.sD), (int)(v.sE), (int)(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16(uchar16 v) { - return (uint16)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7), (uint)(v.s8), (uint)(v.s9), (uint)(v.sA), (uint)(v.sB), (uint)(v.sC), (uint)(v.sD), (uint)(v.sE), (uint)(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16(uchar16 v) { - return (short16)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7), (short)(v.s8), (short)(v.s9), (short)(v.sA), (short)(v.sB), (short)(v.sC), (short)(v.sD), (short)(v.sE), (short)(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16(uchar16 v) { - return (ushort16)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7), (ushort)(v.s8), (ushort)(v.s9), (ushort)(v.sA), (ushort)(v.sB), (ushort)(v.sC), (ushort)(v.sD), (ushort)(v.sE), (ushort)(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16(uchar16 v) { - return (char16)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7), (char)(v.s8), (char)(v.s9), (char)(v.sA), (char)(v.sB), (char)(v.sC), (char)(v.sD), (char)(v.sE), (char)(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16(uchar16 v) { return v; } -INLINE OVERLOADABLE double16 convert_double16(uchar16 v) { - return (double16)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7), (double)(v.s8), (double)(v.s9), (double)(v.sA), (double)(v.sB), (double)(v.sC), (double)(v.sD), (double)(v.sE), (double)(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16(uchar16 v) { - return (float16)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7), (float)(v.s8), (float)(v.s9), (float)(v.sA), (float)(v.sB), (float)(v.sC), (float)(v.sD), (float)(v.sE), (float)(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16(double16 v) { - return (long16)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7), (long)(v.s8), (long)(v.s9), (long)(v.sA), (long)(v.sB), (long)(v.sC), (long)(v.sD), (long)(v.sE), (long)(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16(double16 v) { - return (ulong16)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7), (ulong)(v.s8), (ulong)(v.s9), (ulong)(v.sA), (ulong)(v.sB), (ulong)(v.sC), (ulong)(v.sD), (ulong)(v.sE), (ulong)(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16(double16 v) { - return (int16)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7), (int)(v.s8), (int)(v.s9), (int)(v.sA), (int)(v.sB), (int)(v.sC), (int)(v.sD), (int)(v.sE), (int)(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16(double16 v) { - return (uint16)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7), (uint)(v.s8), (uint)(v.s9), (uint)(v.sA), (uint)(v.sB), (uint)(v.sC), (uint)(v.sD), (uint)(v.sE), (uint)(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16(double16 v) { - return (short16)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7), (short)(v.s8), (short)(v.s9), (short)(v.sA), (short)(v.sB), (short)(v.sC), (short)(v.sD), (short)(v.sE), (short)(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16(double16 v) { - return (ushort16)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7), (ushort)(v.s8), (ushort)(v.s9), (ushort)(v.sA), (ushort)(v.sB), (ushort)(v.sC), (ushort)(v.sD), (ushort)(v.sE), (ushort)(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16(double16 v) { - return (char16)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7), (char)(v.s8), (char)(v.s9), (char)(v.sA), (char)(v.sB), (char)(v.sC), (char)(v.sD), (char)(v.sE), (char)(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16(double16 v) { - return (uchar16)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7), (uchar)(v.s8), (uchar)(v.s9), (uchar)(v.sA), (uchar)(v.sB), (uchar)(v.sC), (uchar)(v.sD), (uchar)(v.sE), (uchar)(v.sF)); -} - -INLINE OVERLOADABLE double16 convert_double16(double16 v) { return v; } -INLINE OVERLOADABLE float16 convert_float16(double16 v) { - return (float16)((float)(v.s0), (float)(v.s1), (float)(v.s2), (float)(v.s3), (float)(v.s4), (float)(v.s5), (float)(v.s6), (float)(v.s7), (float)(v.s8), (float)(v.s9), (float)(v.sA), (float)(v.sB), (float)(v.sC), (float)(v.sD), (float)(v.sE), (float)(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16(float16 v) { - return (long16)((long)(v.s0), (long)(v.s1), (long)(v.s2), (long)(v.s3), (long)(v.s4), (long)(v.s5), (long)(v.s6), (long)(v.s7), (long)(v.s8), (long)(v.s9), (long)(v.sA), (long)(v.sB), (long)(v.sC), (long)(v.sD), (long)(v.sE), (long)(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16(float16 v) { - return (ulong16)((ulong)(v.s0), (ulong)(v.s1), (ulong)(v.s2), (ulong)(v.s3), (ulong)(v.s4), (ulong)(v.s5), (ulong)(v.s6), (ulong)(v.s7), (ulong)(v.s8), (ulong)(v.s9), (ulong)(v.sA), (ulong)(v.sB), (ulong)(v.sC), (ulong)(v.sD), (ulong)(v.sE), (ulong)(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16(float16 v) { - return (int16)((int)(v.s0), (int)(v.s1), (int)(v.s2), (int)(v.s3), (int)(v.s4), (int)(v.s5), (int)(v.s6), (int)(v.s7), (int)(v.s8), (int)(v.s9), (int)(v.sA), (int)(v.sB), (int)(v.sC), (int)(v.sD), (int)(v.sE), (int)(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16(float16 v) { - return (uint16)((uint)(v.s0), (uint)(v.s1), (uint)(v.s2), (uint)(v.s3), (uint)(v.s4), (uint)(v.s5), (uint)(v.s6), (uint)(v.s7), (uint)(v.s8), (uint)(v.s9), (uint)(v.sA), (uint)(v.sB), (uint)(v.sC), (uint)(v.sD), (uint)(v.sE), (uint)(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16(float16 v) { - return (short16)((short)(v.s0), (short)(v.s1), (short)(v.s2), (short)(v.s3), (short)(v.s4), (short)(v.s5), (short)(v.s6), (short)(v.s7), (short)(v.s8), (short)(v.s9), (short)(v.sA), (short)(v.sB), (short)(v.sC), (short)(v.sD), (short)(v.sE), (short)(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16(float16 v) { - return (ushort16)((ushort)(v.s0), (ushort)(v.s1), (ushort)(v.s2), (ushort)(v.s3), (ushort)(v.s4), (ushort)(v.s5), (ushort)(v.s6), (ushort)(v.s7), (ushort)(v.s8), (ushort)(v.s9), (ushort)(v.sA), (ushort)(v.sB), (ushort)(v.sC), (ushort)(v.sD), (ushort)(v.sE), (ushort)(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16(float16 v) { - return (char16)((char)(v.s0), (char)(v.s1), (char)(v.s2), (char)(v.s3), (char)(v.s4), (char)(v.s5), (char)(v.s6), (char)(v.s7), (char)(v.s8), (char)(v.s9), (char)(v.sA), (char)(v.sB), (char)(v.sC), (char)(v.sD), (char)(v.sE), (char)(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16(float16 v) { - return (uchar16)((uchar)(v.s0), (uchar)(v.s1), (uchar)(v.s2), (uchar)(v.s3), (uchar)(v.s4), (uchar)(v.s5), (uchar)(v.s6), (uchar)(v.s7), (uchar)(v.s8), (uchar)(v.s9), (uchar)(v.sA), (uchar)(v.sB), (uchar)(v.sC), (uchar)(v.sD), (uchar)(v.sE), (uchar)(v.sF)); -} - -INLINE OVERLOADABLE double16 convert_double16(float16 v) { - return (double16)((double)(v.s0), (double)(v.s1), (double)(v.s2), (double)(v.s3), (double)(v.s4), (double)(v.s5), (double)(v.s6), (double)(v.s7), (double)(v.s8), (double)(v.s9), (double)(v.sA), (double)(v.sB), (double)(v.sC), (double)(v.sD), (double)(v.sE), (double)(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16(float16 v) { return v; } - -#define DEF(DSTTYPE, SRCTYPE) \ - OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x); -DEF(char, uchar); -DEF(char, short); -DEF(char, ushort); -DEF(char, int); -DEF(char, uint); -DEF(char, float); -DEF(uchar, char); -DEF(uchar, short); -DEF(uchar, ushort); -DEF(uchar, int); -DEF(uchar, uint); -DEF(uchar, float); -DEF(short, ushort); -DEF(short, int); -DEF(short, uint); -DEF(short, float); -DEF(ushort, short); -DEF(ushort, int); -DEF(ushort, uint); -DEF(ushort, float); -DEF(int, uint); -DEF(int, float); -DEF(uint, int); -DEF(uint, float); -#undef DEF - -#define DEF(DSTTYPE, SRCTYPE, MIN, MAX) \ - INLINE_OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x) { \ - return x >= MAX ? (DSTTYPE)MAX : x <= MIN ? (DSTTYPE)MIN : x; \ - } -DEF(char, long, -128, 127); -DEF(uchar, long, 0, 255); -DEF(short, long, -32768, 32767); -DEF(ushort, long, 0, 65535); -DEF(int, long, -0x7fffffff-1, 0x7fffffff); -DEF(uint, long, 0, 0xffffffffu); -DEF(long, float, -9.223372036854776e+18f, 9.223372036854776e+18f); -DEF(ulong, float, 0, 1.8446744073709552e+19f); -#undef DEF - -#define DEF(DSTTYPE, SRCTYPE, MAX) \ - INLINE_OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x) { \ - return x >= MAX ? (DSTTYPE)MAX : x; \ - } -DEF(char, ulong, 127); -DEF(uchar, ulong, 255); -DEF(short, ulong, 32767); -DEF(ushort, ulong, 65535); -DEF(int, ulong, 0x7fffffff); -DEF(uint, ulong, 0xffffffffu); -#undef DEF - -INLINE_OVERLOADABLE long convert_long_sat(ulong x) { - ulong MAX = 0x7ffffffffffffffful; - return x >= MAX ? MAX : x; -} - -#define DEF(DSTTYPE, SRCTYPE) \ - INLINE_OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x) { \ - return x <= 0 ? 0 : x; \ - } -DEF(ushort, char); -DEF(uint, char); -DEF(uint, short); -DEF(ulong, char); -DEF(ulong, short); -DEF(ulong, int); -DEF(ulong, long); -#undef DEF - -#define DEF(DSTTYPE, SRCTYPE) \ - INLINE_OVERLOADABLE DSTTYPE convert_ ## DSTTYPE ## _sat(SRCTYPE x) { \ - return x; \ - } -DEF(char, char); -DEF(uchar, uchar); -DEF(short, char); -DEF(short, uchar); -DEF(short, short); -DEF(ushort, uchar); -DEF(ushort, ushort); -DEF(int, char); -DEF(int, uchar); -DEF(int, short); -DEF(int, ushort); -DEF(int, int); -DEF(uint, uchar); -DEF(uint, ushort); -DEF(uint, uint); -DEF(long, char); -DEF(long, uchar); -DEF(long, short); -DEF(long, ushort); -DEF(long, int); -DEF(long, uint); -DEF(long, long); -DEF(ulong, uchar); -DEF(ulong, ushort); -DEF(ulong, uint); -DEF(ulong, ulong); -#undef DEF - -INLINE OVERLOADABLE long2 convert_long2_sat(long2 v) { - return (long2)(convert_long_sat(v.s0), convert_long_sat(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat(long2 v) { - return (ulong2)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat(long2 v) { - return (int2)(convert_int_sat(v.s0), convert_int_sat(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat(long2 v) { - return (uint2)(convert_uint_sat(v.s0), convert_uint_sat(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat(long2 v) { - return (short2)(convert_short_sat(v.s0), convert_short_sat(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat(long2 v) { - return (ushort2)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat(long2 v) { - return (char2)(convert_char_sat(v.s0), convert_char_sat(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat(long2 v) { - return (uchar2)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat(ulong2 v) { - return (long2)(convert_long_sat(v.s0), convert_long_sat(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat(ulong2 v) { - return (ulong2)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat(ulong2 v) { - return (int2)(convert_int_sat(v.s0), convert_int_sat(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat(ulong2 v) { - return (uint2)(convert_uint_sat(v.s0), convert_uint_sat(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat(ulong2 v) { - return (short2)(convert_short_sat(v.s0), convert_short_sat(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat(ulong2 v) { - return (ushort2)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat(ulong2 v) { - return (char2)(convert_char_sat(v.s0), convert_char_sat(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat(ulong2 v) { - return (uchar2)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat(int2 v) { - return (long2)(convert_long_sat(v.s0), convert_long_sat(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat(int2 v) { - return (ulong2)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat(int2 v) { - return (int2)(convert_int_sat(v.s0), convert_int_sat(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat(int2 v) { - return (uint2)(convert_uint_sat(v.s0), convert_uint_sat(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat(int2 v) { - return (short2)(convert_short_sat(v.s0), convert_short_sat(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat(int2 v) { - return (ushort2)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat(int2 v) { - return (char2)(convert_char_sat(v.s0), convert_char_sat(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat(int2 v) { - return (uchar2)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat(uint2 v) { - return (long2)(convert_long_sat(v.s0), convert_long_sat(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat(uint2 v) { - return (ulong2)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat(uint2 v) { - return (int2)(convert_int_sat(v.s0), convert_int_sat(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat(uint2 v) { - return (uint2)(convert_uint_sat(v.s0), convert_uint_sat(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat(uint2 v) { - return (short2)(convert_short_sat(v.s0), convert_short_sat(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat(uint2 v) { - return (ushort2)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat(uint2 v) { - return (char2)(convert_char_sat(v.s0), convert_char_sat(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat(uint2 v) { - return (uchar2)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat(short2 v) { - return (long2)(convert_long_sat(v.s0), convert_long_sat(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat(short2 v) { - return (ulong2)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat(short2 v) { - return (int2)(convert_int_sat(v.s0), convert_int_sat(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat(short2 v) { - return (uint2)(convert_uint_sat(v.s0), convert_uint_sat(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat(short2 v) { - return (short2)(convert_short_sat(v.s0), convert_short_sat(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat(short2 v) { - return (ushort2)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat(short2 v) { - return (char2)(convert_char_sat(v.s0), convert_char_sat(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat(short2 v) { - return (uchar2)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat(ushort2 v) { - return (long2)(convert_long_sat(v.s0), convert_long_sat(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat(ushort2 v) { - return (ulong2)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat(ushort2 v) { - return (int2)(convert_int_sat(v.s0), convert_int_sat(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat(ushort2 v) { - return (uint2)(convert_uint_sat(v.s0), convert_uint_sat(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat(ushort2 v) { - return (short2)(convert_short_sat(v.s0), convert_short_sat(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat(ushort2 v) { - return (ushort2)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat(ushort2 v) { - return (char2)(convert_char_sat(v.s0), convert_char_sat(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat(ushort2 v) { - return (uchar2)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat(char2 v) { - return (long2)(convert_long_sat(v.s0), convert_long_sat(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat(char2 v) { - return (ulong2)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat(char2 v) { - return (int2)(convert_int_sat(v.s0), convert_int_sat(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat(char2 v) { - return (uint2)(convert_uint_sat(v.s0), convert_uint_sat(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat(char2 v) { - return (short2)(convert_short_sat(v.s0), convert_short_sat(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat(char2 v) { - return (ushort2)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat(char2 v) { - return (char2)(convert_char_sat(v.s0), convert_char_sat(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat(char2 v) { - return (uchar2)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat(uchar2 v) { - return (long2)(convert_long_sat(v.s0), convert_long_sat(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat(uchar2 v) { - return (ulong2)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat(uchar2 v) { - return (int2)(convert_int_sat(v.s0), convert_int_sat(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat(uchar2 v) { - return (uint2)(convert_uint_sat(v.s0), convert_uint_sat(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat(uchar2 v) { - return (short2)(convert_short_sat(v.s0), convert_short_sat(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat(uchar2 v) { - return (ushort2)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat(uchar2 v) { - return (char2)(convert_char_sat(v.s0), convert_char_sat(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat(uchar2 v) { - return (uchar2)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat(float2 v) { - return (long2)(convert_long_sat(v.s0), convert_long_sat(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat(float2 v) { - return (ulong2)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat(float2 v) { - return (int2)(convert_int_sat(v.s0), convert_int_sat(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat(float2 v) { - return (uint2)(convert_uint_sat(v.s0), convert_uint_sat(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat(float2 v) { - return (short2)(convert_short_sat(v.s0), convert_short_sat(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat(float2 v) { - return (ushort2)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat(float2 v) { - return (char2)(convert_char_sat(v.s0), convert_char_sat(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat(float2 v) { - return (uchar2)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat(long3 v) { - return (long3)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat(long3 v) { - return (ulong3)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat(long3 v) { - return (int3)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat(long3 v) { - return (uint3)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat(long3 v) { - return (short3)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat(long3 v) { - return (ushort3)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat(long3 v) { - return (char3)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat(long3 v) { - return (uchar3)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat(ulong3 v) { - return (long3)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat(ulong3 v) { - return (ulong3)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat(ulong3 v) { - return (int3)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat(ulong3 v) { - return (uint3)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat(ulong3 v) { - return (short3)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat(ulong3 v) { - return (ushort3)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat(ulong3 v) { - return (char3)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat(ulong3 v) { - return (uchar3)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat(int3 v) { - return (long3)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat(int3 v) { - return (ulong3)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat(int3 v) { - return (int3)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat(int3 v) { - return (uint3)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat(int3 v) { - return (short3)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat(int3 v) { - return (ushort3)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat(int3 v) { - return (char3)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat(int3 v) { - return (uchar3)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat(uint3 v) { - return (long3)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat(uint3 v) { - return (ulong3)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat(uint3 v) { - return (int3)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat(uint3 v) { - return (uint3)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat(uint3 v) { - return (short3)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat(uint3 v) { - return (ushort3)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat(uint3 v) { - return (char3)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat(uint3 v) { - return (uchar3)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat(short3 v) { - return (long3)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat(short3 v) { - return (ulong3)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat(short3 v) { - return (int3)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat(short3 v) { - return (uint3)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat(short3 v) { - return (short3)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat(short3 v) { - return (ushort3)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat(short3 v) { - return (char3)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat(short3 v) { - return (uchar3)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat(ushort3 v) { - return (long3)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat(ushort3 v) { - return (ulong3)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat(ushort3 v) { - return (int3)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat(ushort3 v) { - return (uint3)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat(ushort3 v) { - return (short3)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat(ushort3 v) { - return (ushort3)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat(ushort3 v) { - return (char3)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat(ushort3 v) { - return (uchar3)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat(char3 v) { - return (long3)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat(char3 v) { - return (ulong3)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat(char3 v) { - return (int3)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat(char3 v) { - return (uint3)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat(char3 v) { - return (short3)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat(char3 v) { - return (ushort3)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat(char3 v) { - return (char3)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat(char3 v) { - return (uchar3)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat(uchar3 v) { - return (long3)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat(uchar3 v) { - return (ulong3)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat(uchar3 v) { - return (int3)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat(uchar3 v) { - return (uint3)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat(uchar3 v) { - return (short3)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat(uchar3 v) { - return (ushort3)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat(uchar3 v) { - return (char3)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat(uchar3 v) { - return (uchar3)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat(float3 v) { - return (long3)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat(float3 v) { - return (ulong3)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat(float3 v) { - return (int3)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat(float3 v) { - return (uint3)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat(float3 v) { - return (short3)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat(float3 v) { - return (ushort3)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat(float3 v) { - return (char3)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat(float3 v) { - return (uchar3)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat(long4 v) { - return (long4)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat(long4 v) { - return (ulong4)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat(long4 v) { - return (int4)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat(long4 v) { - return (uint4)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat(long4 v) { - return (short4)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat(long4 v) { - return (ushort4)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat(long4 v) { - return (char4)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat(long4 v) { - return (uchar4)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat(ulong4 v) { - return (long4)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat(ulong4 v) { - return (ulong4)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat(ulong4 v) { - return (int4)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat(ulong4 v) { - return (uint4)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat(ulong4 v) { - return (short4)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat(ulong4 v) { - return (ushort4)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat(ulong4 v) { - return (char4)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat(ulong4 v) { - return (uchar4)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat(int4 v) { - return (long4)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat(int4 v) { - return (ulong4)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat(int4 v) { - return (int4)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat(int4 v) { - return (uint4)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat(int4 v) { - return (short4)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat(int4 v) { - return (ushort4)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat(int4 v) { - return (char4)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat(int4 v) { - return (uchar4)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat(uint4 v) { - return (long4)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat(uint4 v) { - return (ulong4)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat(uint4 v) { - return (int4)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat(uint4 v) { - return (uint4)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat(uint4 v) { - return (short4)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat(uint4 v) { - return (ushort4)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat(uint4 v) { - return (char4)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat(uint4 v) { - return (uchar4)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat(short4 v) { - return (long4)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat(short4 v) { - return (ulong4)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat(short4 v) { - return (int4)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat(short4 v) { - return (uint4)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat(short4 v) { - return (short4)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat(short4 v) { - return (ushort4)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat(short4 v) { - return (char4)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat(short4 v) { - return (uchar4)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat(ushort4 v) { - return (long4)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat(ushort4 v) { - return (ulong4)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat(ushort4 v) { - return (int4)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat(ushort4 v) { - return (uint4)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat(ushort4 v) { - return (short4)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat(ushort4 v) { - return (ushort4)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat(ushort4 v) { - return (char4)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat(ushort4 v) { - return (uchar4)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat(char4 v) { - return (long4)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat(char4 v) { - return (ulong4)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat(char4 v) { - return (int4)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat(char4 v) { - return (uint4)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat(char4 v) { - return (short4)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat(char4 v) { - return (ushort4)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat(char4 v) { - return (char4)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat(char4 v) { - return (uchar4)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat(uchar4 v) { - return (long4)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat(uchar4 v) { - return (ulong4)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat(uchar4 v) { - return (int4)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat(uchar4 v) { - return (uint4)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat(uchar4 v) { - return (short4)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat(uchar4 v) { - return (ushort4)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat(uchar4 v) { - return (char4)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat(uchar4 v) { - return (uchar4)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat(float4 v) { - return (long4)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat(float4 v) { - return (ulong4)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat(float4 v) { - return (int4)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat(float4 v) { - return (uint4)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat(float4 v) { - return (short4)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat(float4 v) { - return (ushort4)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat(float4 v) { - return (char4)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat(float4 v) { - return (uchar4)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat(long8 v) { - return (long8)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat(long8 v) { - return (ulong8)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat(long8 v) { - return (int8)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat(long8 v) { - return (uint8)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat(long8 v) { - return (short8)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat(long8 v) { - return (ushort8)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat(long8 v) { - return (char8)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat(long8 v) { - return (uchar8)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat(ulong8 v) { - return (long8)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat(ulong8 v) { - return (ulong8)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat(ulong8 v) { - return (int8)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat(ulong8 v) { - return (uint8)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat(ulong8 v) { - return (short8)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat(ulong8 v) { - return (ushort8)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat(ulong8 v) { - return (char8)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat(ulong8 v) { - return (uchar8)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat(int8 v) { - return (long8)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat(int8 v) { - return (ulong8)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat(int8 v) { - return (int8)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat(int8 v) { - return (uint8)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat(int8 v) { - return (short8)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat(int8 v) { - return (ushort8)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat(int8 v) { - return (char8)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat(int8 v) { - return (uchar8)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat(uint8 v) { - return (long8)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat(uint8 v) { - return (ulong8)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat(uint8 v) { - return (int8)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat(uint8 v) { - return (uint8)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat(uint8 v) { - return (short8)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat(uint8 v) { - return (ushort8)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat(uint8 v) { - return (char8)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat(uint8 v) { - return (uchar8)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat(short8 v) { - return (long8)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat(short8 v) { - return (ulong8)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat(short8 v) { - return (int8)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat(short8 v) { - return (uint8)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat(short8 v) { - return (short8)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat(short8 v) { - return (ushort8)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat(short8 v) { - return (char8)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat(short8 v) { - return (uchar8)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat(ushort8 v) { - return (long8)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat(ushort8 v) { - return (ulong8)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat(ushort8 v) { - return (int8)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat(ushort8 v) { - return (uint8)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat(ushort8 v) { - return (short8)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat(ushort8 v) { - return (ushort8)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat(ushort8 v) { - return (char8)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat(ushort8 v) { - return (uchar8)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat(char8 v) { - return (long8)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat(char8 v) { - return (ulong8)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat(char8 v) { - return (int8)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat(char8 v) { - return (uint8)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat(char8 v) { - return (short8)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat(char8 v) { - return (ushort8)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat(char8 v) { - return (char8)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat(char8 v) { - return (uchar8)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat(uchar8 v) { - return (long8)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat(uchar8 v) { - return (ulong8)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat(uchar8 v) { - return (int8)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat(uchar8 v) { - return (uint8)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat(uchar8 v) { - return (short8)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat(uchar8 v) { - return (ushort8)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat(uchar8 v) { - return (char8)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat(uchar8 v) { - return (uchar8)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat(float8 v) { - return (long8)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat(float8 v) { - return (ulong8)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat(float8 v) { - return (int8)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat(float8 v) { - return (uint8)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat(float8 v) { - return (short8)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat(float8 v) { - return (ushort8)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat(float8 v) { - return (char8)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat(float8 v) { - return (uchar8)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat(long16 v) { - return (long16)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7), convert_long_sat(v.s8), convert_long_sat(v.s9), convert_long_sat(v.sA), convert_long_sat(v.sB), convert_long_sat(v.sC), convert_long_sat(v.sD), convert_long_sat(v.sE), convert_long_sat(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat(long16 v) { - return (ulong16)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7), convert_ulong_sat(v.s8), convert_ulong_sat(v.s9), convert_ulong_sat(v.sA), convert_ulong_sat(v.sB), convert_ulong_sat(v.sC), convert_ulong_sat(v.sD), convert_ulong_sat(v.sE), convert_ulong_sat(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat(long16 v) { - return (int16)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7), convert_int_sat(v.s8), convert_int_sat(v.s9), convert_int_sat(v.sA), convert_int_sat(v.sB), convert_int_sat(v.sC), convert_int_sat(v.sD), convert_int_sat(v.sE), convert_int_sat(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat(long16 v) { - return (uint16)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7), convert_uint_sat(v.s8), convert_uint_sat(v.s9), convert_uint_sat(v.sA), convert_uint_sat(v.sB), convert_uint_sat(v.sC), convert_uint_sat(v.sD), convert_uint_sat(v.sE), convert_uint_sat(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat(long16 v) { - return (short16)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7), convert_short_sat(v.s8), convert_short_sat(v.s9), convert_short_sat(v.sA), convert_short_sat(v.sB), convert_short_sat(v.sC), convert_short_sat(v.sD), convert_short_sat(v.sE), convert_short_sat(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat(long16 v) { - return (ushort16)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7), convert_ushort_sat(v.s8), convert_ushort_sat(v.s9), convert_ushort_sat(v.sA), convert_ushort_sat(v.sB), convert_ushort_sat(v.sC), convert_ushort_sat(v.sD), convert_ushort_sat(v.sE), convert_ushort_sat(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat(long16 v) { - return (char16)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7), convert_char_sat(v.s8), convert_char_sat(v.s9), convert_char_sat(v.sA), convert_char_sat(v.sB), convert_char_sat(v.sC), convert_char_sat(v.sD), convert_char_sat(v.sE), convert_char_sat(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat(long16 v) { - return (uchar16)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7), convert_uchar_sat(v.s8), convert_uchar_sat(v.s9), convert_uchar_sat(v.sA), convert_uchar_sat(v.sB), convert_uchar_sat(v.sC), convert_uchar_sat(v.sD), convert_uchar_sat(v.sE), convert_uchar_sat(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat(ulong16 v) { - return (long16)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7), convert_long_sat(v.s8), convert_long_sat(v.s9), convert_long_sat(v.sA), convert_long_sat(v.sB), convert_long_sat(v.sC), convert_long_sat(v.sD), convert_long_sat(v.sE), convert_long_sat(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat(ulong16 v) { - return (ulong16)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7), convert_ulong_sat(v.s8), convert_ulong_sat(v.s9), convert_ulong_sat(v.sA), convert_ulong_sat(v.sB), convert_ulong_sat(v.sC), convert_ulong_sat(v.sD), convert_ulong_sat(v.sE), convert_ulong_sat(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat(ulong16 v) { - return (int16)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7), convert_int_sat(v.s8), convert_int_sat(v.s9), convert_int_sat(v.sA), convert_int_sat(v.sB), convert_int_sat(v.sC), convert_int_sat(v.sD), convert_int_sat(v.sE), convert_int_sat(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat(ulong16 v) { - return (uint16)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7), convert_uint_sat(v.s8), convert_uint_sat(v.s9), convert_uint_sat(v.sA), convert_uint_sat(v.sB), convert_uint_sat(v.sC), convert_uint_sat(v.sD), convert_uint_sat(v.sE), convert_uint_sat(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat(ulong16 v) { - return (short16)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7), convert_short_sat(v.s8), convert_short_sat(v.s9), convert_short_sat(v.sA), convert_short_sat(v.sB), convert_short_sat(v.sC), convert_short_sat(v.sD), convert_short_sat(v.sE), convert_short_sat(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat(ulong16 v) { - return (ushort16)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7), convert_ushort_sat(v.s8), convert_ushort_sat(v.s9), convert_ushort_sat(v.sA), convert_ushort_sat(v.sB), convert_ushort_sat(v.sC), convert_ushort_sat(v.sD), convert_ushort_sat(v.sE), convert_ushort_sat(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat(ulong16 v) { - return (char16)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7), convert_char_sat(v.s8), convert_char_sat(v.s9), convert_char_sat(v.sA), convert_char_sat(v.sB), convert_char_sat(v.sC), convert_char_sat(v.sD), convert_char_sat(v.sE), convert_char_sat(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat(ulong16 v) { - return (uchar16)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7), convert_uchar_sat(v.s8), convert_uchar_sat(v.s9), convert_uchar_sat(v.sA), convert_uchar_sat(v.sB), convert_uchar_sat(v.sC), convert_uchar_sat(v.sD), convert_uchar_sat(v.sE), convert_uchar_sat(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat(int16 v) { - return (long16)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7), convert_long_sat(v.s8), convert_long_sat(v.s9), convert_long_sat(v.sA), convert_long_sat(v.sB), convert_long_sat(v.sC), convert_long_sat(v.sD), convert_long_sat(v.sE), convert_long_sat(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat(int16 v) { - return (ulong16)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7), convert_ulong_sat(v.s8), convert_ulong_sat(v.s9), convert_ulong_sat(v.sA), convert_ulong_sat(v.sB), convert_ulong_sat(v.sC), convert_ulong_sat(v.sD), convert_ulong_sat(v.sE), convert_ulong_sat(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat(int16 v) { - return (int16)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7), convert_int_sat(v.s8), convert_int_sat(v.s9), convert_int_sat(v.sA), convert_int_sat(v.sB), convert_int_sat(v.sC), convert_int_sat(v.sD), convert_int_sat(v.sE), convert_int_sat(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat(int16 v) { - return (uint16)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7), convert_uint_sat(v.s8), convert_uint_sat(v.s9), convert_uint_sat(v.sA), convert_uint_sat(v.sB), convert_uint_sat(v.sC), convert_uint_sat(v.sD), convert_uint_sat(v.sE), convert_uint_sat(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat(int16 v) { - return (short16)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7), convert_short_sat(v.s8), convert_short_sat(v.s9), convert_short_sat(v.sA), convert_short_sat(v.sB), convert_short_sat(v.sC), convert_short_sat(v.sD), convert_short_sat(v.sE), convert_short_sat(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat(int16 v) { - return (ushort16)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7), convert_ushort_sat(v.s8), convert_ushort_sat(v.s9), convert_ushort_sat(v.sA), convert_ushort_sat(v.sB), convert_ushort_sat(v.sC), convert_ushort_sat(v.sD), convert_ushort_sat(v.sE), convert_ushort_sat(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat(int16 v) { - return (char16)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7), convert_char_sat(v.s8), convert_char_sat(v.s9), convert_char_sat(v.sA), convert_char_sat(v.sB), convert_char_sat(v.sC), convert_char_sat(v.sD), convert_char_sat(v.sE), convert_char_sat(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat(int16 v) { - return (uchar16)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7), convert_uchar_sat(v.s8), convert_uchar_sat(v.s9), convert_uchar_sat(v.sA), convert_uchar_sat(v.sB), convert_uchar_sat(v.sC), convert_uchar_sat(v.sD), convert_uchar_sat(v.sE), convert_uchar_sat(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat(uint16 v) { - return (long16)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7), convert_long_sat(v.s8), convert_long_sat(v.s9), convert_long_sat(v.sA), convert_long_sat(v.sB), convert_long_sat(v.sC), convert_long_sat(v.sD), convert_long_sat(v.sE), convert_long_sat(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat(uint16 v) { - return (ulong16)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7), convert_ulong_sat(v.s8), convert_ulong_sat(v.s9), convert_ulong_sat(v.sA), convert_ulong_sat(v.sB), convert_ulong_sat(v.sC), convert_ulong_sat(v.sD), convert_ulong_sat(v.sE), convert_ulong_sat(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat(uint16 v) { - return (int16)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7), convert_int_sat(v.s8), convert_int_sat(v.s9), convert_int_sat(v.sA), convert_int_sat(v.sB), convert_int_sat(v.sC), convert_int_sat(v.sD), convert_int_sat(v.sE), convert_int_sat(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat(uint16 v) { - return (uint16)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7), convert_uint_sat(v.s8), convert_uint_sat(v.s9), convert_uint_sat(v.sA), convert_uint_sat(v.sB), convert_uint_sat(v.sC), convert_uint_sat(v.sD), convert_uint_sat(v.sE), convert_uint_sat(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat(uint16 v) { - return (short16)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7), convert_short_sat(v.s8), convert_short_sat(v.s9), convert_short_sat(v.sA), convert_short_sat(v.sB), convert_short_sat(v.sC), convert_short_sat(v.sD), convert_short_sat(v.sE), convert_short_sat(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat(uint16 v) { - return (ushort16)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7), convert_ushort_sat(v.s8), convert_ushort_sat(v.s9), convert_ushort_sat(v.sA), convert_ushort_sat(v.sB), convert_ushort_sat(v.sC), convert_ushort_sat(v.sD), convert_ushort_sat(v.sE), convert_ushort_sat(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat(uint16 v) { - return (char16)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7), convert_char_sat(v.s8), convert_char_sat(v.s9), convert_char_sat(v.sA), convert_char_sat(v.sB), convert_char_sat(v.sC), convert_char_sat(v.sD), convert_char_sat(v.sE), convert_char_sat(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat(uint16 v) { - return (uchar16)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7), convert_uchar_sat(v.s8), convert_uchar_sat(v.s9), convert_uchar_sat(v.sA), convert_uchar_sat(v.sB), convert_uchar_sat(v.sC), convert_uchar_sat(v.sD), convert_uchar_sat(v.sE), convert_uchar_sat(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat(short16 v) { - return (long16)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7), convert_long_sat(v.s8), convert_long_sat(v.s9), convert_long_sat(v.sA), convert_long_sat(v.sB), convert_long_sat(v.sC), convert_long_sat(v.sD), convert_long_sat(v.sE), convert_long_sat(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat(short16 v) { - return (ulong16)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7), convert_ulong_sat(v.s8), convert_ulong_sat(v.s9), convert_ulong_sat(v.sA), convert_ulong_sat(v.sB), convert_ulong_sat(v.sC), convert_ulong_sat(v.sD), convert_ulong_sat(v.sE), convert_ulong_sat(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat(short16 v) { - return (int16)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7), convert_int_sat(v.s8), convert_int_sat(v.s9), convert_int_sat(v.sA), convert_int_sat(v.sB), convert_int_sat(v.sC), convert_int_sat(v.sD), convert_int_sat(v.sE), convert_int_sat(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat(short16 v) { - return (uint16)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7), convert_uint_sat(v.s8), convert_uint_sat(v.s9), convert_uint_sat(v.sA), convert_uint_sat(v.sB), convert_uint_sat(v.sC), convert_uint_sat(v.sD), convert_uint_sat(v.sE), convert_uint_sat(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat(short16 v) { - return (short16)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7), convert_short_sat(v.s8), convert_short_sat(v.s9), convert_short_sat(v.sA), convert_short_sat(v.sB), convert_short_sat(v.sC), convert_short_sat(v.sD), convert_short_sat(v.sE), convert_short_sat(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat(short16 v) { - return (ushort16)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7), convert_ushort_sat(v.s8), convert_ushort_sat(v.s9), convert_ushort_sat(v.sA), convert_ushort_sat(v.sB), convert_ushort_sat(v.sC), convert_ushort_sat(v.sD), convert_ushort_sat(v.sE), convert_ushort_sat(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat(short16 v) { - return (char16)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7), convert_char_sat(v.s8), convert_char_sat(v.s9), convert_char_sat(v.sA), convert_char_sat(v.sB), convert_char_sat(v.sC), convert_char_sat(v.sD), convert_char_sat(v.sE), convert_char_sat(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat(short16 v) { - return (uchar16)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7), convert_uchar_sat(v.s8), convert_uchar_sat(v.s9), convert_uchar_sat(v.sA), convert_uchar_sat(v.sB), convert_uchar_sat(v.sC), convert_uchar_sat(v.sD), convert_uchar_sat(v.sE), convert_uchar_sat(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat(ushort16 v) { - return (long16)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7), convert_long_sat(v.s8), convert_long_sat(v.s9), convert_long_sat(v.sA), convert_long_sat(v.sB), convert_long_sat(v.sC), convert_long_sat(v.sD), convert_long_sat(v.sE), convert_long_sat(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat(ushort16 v) { - return (ulong16)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7), convert_ulong_sat(v.s8), convert_ulong_sat(v.s9), convert_ulong_sat(v.sA), convert_ulong_sat(v.sB), convert_ulong_sat(v.sC), convert_ulong_sat(v.sD), convert_ulong_sat(v.sE), convert_ulong_sat(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat(ushort16 v) { - return (int16)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7), convert_int_sat(v.s8), convert_int_sat(v.s9), convert_int_sat(v.sA), convert_int_sat(v.sB), convert_int_sat(v.sC), convert_int_sat(v.sD), convert_int_sat(v.sE), convert_int_sat(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat(ushort16 v) { - return (uint16)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7), convert_uint_sat(v.s8), convert_uint_sat(v.s9), convert_uint_sat(v.sA), convert_uint_sat(v.sB), convert_uint_sat(v.sC), convert_uint_sat(v.sD), convert_uint_sat(v.sE), convert_uint_sat(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat(ushort16 v) { - return (short16)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7), convert_short_sat(v.s8), convert_short_sat(v.s9), convert_short_sat(v.sA), convert_short_sat(v.sB), convert_short_sat(v.sC), convert_short_sat(v.sD), convert_short_sat(v.sE), convert_short_sat(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat(ushort16 v) { - return (ushort16)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7), convert_ushort_sat(v.s8), convert_ushort_sat(v.s9), convert_ushort_sat(v.sA), convert_ushort_sat(v.sB), convert_ushort_sat(v.sC), convert_ushort_sat(v.sD), convert_ushort_sat(v.sE), convert_ushort_sat(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat(ushort16 v) { - return (char16)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7), convert_char_sat(v.s8), convert_char_sat(v.s9), convert_char_sat(v.sA), convert_char_sat(v.sB), convert_char_sat(v.sC), convert_char_sat(v.sD), convert_char_sat(v.sE), convert_char_sat(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat(ushort16 v) { - return (uchar16)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7), convert_uchar_sat(v.s8), convert_uchar_sat(v.s9), convert_uchar_sat(v.sA), convert_uchar_sat(v.sB), convert_uchar_sat(v.sC), convert_uchar_sat(v.sD), convert_uchar_sat(v.sE), convert_uchar_sat(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat(char16 v) { - return (long16)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7), convert_long_sat(v.s8), convert_long_sat(v.s9), convert_long_sat(v.sA), convert_long_sat(v.sB), convert_long_sat(v.sC), convert_long_sat(v.sD), convert_long_sat(v.sE), convert_long_sat(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat(char16 v) { - return (ulong16)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7), convert_ulong_sat(v.s8), convert_ulong_sat(v.s9), convert_ulong_sat(v.sA), convert_ulong_sat(v.sB), convert_ulong_sat(v.sC), convert_ulong_sat(v.sD), convert_ulong_sat(v.sE), convert_ulong_sat(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat(char16 v) { - return (int16)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7), convert_int_sat(v.s8), convert_int_sat(v.s9), convert_int_sat(v.sA), convert_int_sat(v.sB), convert_int_sat(v.sC), convert_int_sat(v.sD), convert_int_sat(v.sE), convert_int_sat(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat(char16 v) { - return (uint16)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7), convert_uint_sat(v.s8), convert_uint_sat(v.s9), convert_uint_sat(v.sA), convert_uint_sat(v.sB), convert_uint_sat(v.sC), convert_uint_sat(v.sD), convert_uint_sat(v.sE), convert_uint_sat(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat(char16 v) { - return (short16)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7), convert_short_sat(v.s8), convert_short_sat(v.s9), convert_short_sat(v.sA), convert_short_sat(v.sB), convert_short_sat(v.sC), convert_short_sat(v.sD), convert_short_sat(v.sE), convert_short_sat(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat(char16 v) { - return (ushort16)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7), convert_ushort_sat(v.s8), convert_ushort_sat(v.s9), convert_ushort_sat(v.sA), convert_ushort_sat(v.sB), convert_ushort_sat(v.sC), convert_ushort_sat(v.sD), convert_ushort_sat(v.sE), convert_ushort_sat(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat(char16 v) { - return (char16)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7), convert_char_sat(v.s8), convert_char_sat(v.s9), convert_char_sat(v.sA), convert_char_sat(v.sB), convert_char_sat(v.sC), convert_char_sat(v.sD), convert_char_sat(v.sE), convert_char_sat(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat(char16 v) { - return (uchar16)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7), convert_uchar_sat(v.s8), convert_uchar_sat(v.s9), convert_uchar_sat(v.sA), convert_uchar_sat(v.sB), convert_uchar_sat(v.sC), convert_uchar_sat(v.sD), convert_uchar_sat(v.sE), convert_uchar_sat(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat(uchar16 v) { - return (long16)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7), convert_long_sat(v.s8), convert_long_sat(v.s9), convert_long_sat(v.sA), convert_long_sat(v.sB), convert_long_sat(v.sC), convert_long_sat(v.sD), convert_long_sat(v.sE), convert_long_sat(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat(uchar16 v) { - return (ulong16)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7), convert_ulong_sat(v.s8), convert_ulong_sat(v.s9), convert_ulong_sat(v.sA), convert_ulong_sat(v.sB), convert_ulong_sat(v.sC), convert_ulong_sat(v.sD), convert_ulong_sat(v.sE), convert_ulong_sat(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat(uchar16 v) { - return (int16)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7), convert_int_sat(v.s8), convert_int_sat(v.s9), convert_int_sat(v.sA), convert_int_sat(v.sB), convert_int_sat(v.sC), convert_int_sat(v.sD), convert_int_sat(v.sE), convert_int_sat(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat(uchar16 v) { - return (uint16)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7), convert_uint_sat(v.s8), convert_uint_sat(v.s9), convert_uint_sat(v.sA), convert_uint_sat(v.sB), convert_uint_sat(v.sC), convert_uint_sat(v.sD), convert_uint_sat(v.sE), convert_uint_sat(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat(uchar16 v) { - return (short16)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7), convert_short_sat(v.s8), convert_short_sat(v.s9), convert_short_sat(v.sA), convert_short_sat(v.sB), convert_short_sat(v.sC), convert_short_sat(v.sD), convert_short_sat(v.sE), convert_short_sat(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat(uchar16 v) { - return (ushort16)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7), convert_ushort_sat(v.s8), convert_ushort_sat(v.s9), convert_ushort_sat(v.sA), convert_ushort_sat(v.sB), convert_ushort_sat(v.sC), convert_ushort_sat(v.sD), convert_ushort_sat(v.sE), convert_ushort_sat(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat(uchar16 v) { - return (char16)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7), convert_char_sat(v.s8), convert_char_sat(v.s9), convert_char_sat(v.sA), convert_char_sat(v.sB), convert_char_sat(v.sC), convert_char_sat(v.sD), convert_char_sat(v.sE), convert_char_sat(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat(uchar16 v) { - return (uchar16)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7), convert_uchar_sat(v.s8), convert_uchar_sat(v.s9), convert_uchar_sat(v.sA), convert_uchar_sat(v.sB), convert_uchar_sat(v.sC), convert_uchar_sat(v.sD), convert_uchar_sat(v.sE), convert_uchar_sat(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat(float16 v) { - return (long16)(convert_long_sat(v.s0), convert_long_sat(v.s1), convert_long_sat(v.s2), convert_long_sat(v.s3), convert_long_sat(v.s4), convert_long_sat(v.s5), convert_long_sat(v.s6), convert_long_sat(v.s7), convert_long_sat(v.s8), convert_long_sat(v.s9), convert_long_sat(v.sA), convert_long_sat(v.sB), convert_long_sat(v.sC), convert_long_sat(v.sD), convert_long_sat(v.sE), convert_long_sat(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat(float16 v) { - return (ulong16)(convert_ulong_sat(v.s0), convert_ulong_sat(v.s1), convert_ulong_sat(v.s2), convert_ulong_sat(v.s3), convert_ulong_sat(v.s4), convert_ulong_sat(v.s5), convert_ulong_sat(v.s6), convert_ulong_sat(v.s7), convert_ulong_sat(v.s8), convert_ulong_sat(v.s9), convert_ulong_sat(v.sA), convert_ulong_sat(v.sB), convert_ulong_sat(v.sC), convert_ulong_sat(v.sD), convert_ulong_sat(v.sE), convert_ulong_sat(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat(float16 v) { - return (int16)(convert_int_sat(v.s0), convert_int_sat(v.s1), convert_int_sat(v.s2), convert_int_sat(v.s3), convert_int_sat(v.s4), convert_int_sat(v.s5), convert_int_sat(v.s6), convert_int_sat(v.s7), convert_int_sat(v.s8), convert_int_sat(v.s9), convert_int_sat(v.sA), convert_int_sat(v.sB), convert_int_sat(v.sC), convert_int_sat(v.sD), convert_int_sat(v.sE), convert_int_sat(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat(float16 v) { - return (uint16)(convert_uint_sat(v.s0), convert_uint_sat(v.s1), convert_uint_sat(v.s2), convert_uint_sat(v.s3), convert_uint_sat(v.s4), convert_uint_sat(v.s5), convert_uint_sat(v.s6), convert_uint_sat(v.s7), convert_uint_sat(v.s8), convert_uint_sat(v.s9), convert_uint_sat(v.sA), convert_uint_sat(v.sB), convert_uint_sat(v.sC), convert_uint_sat(v.sD), convert_uint_sat(v.sE), convert_uint_sat(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat(float16 v) { - return (short16)(convert_short_sat(v.s0), convert_short_sat(v.s1), convert_short_sat(v.s2), convert_short_sat(v.s3), convert_short_sat(v.s4), convert_short_sat(v.s5), convert_short_sat(v.s6), convert_short_sat(v.s7), convert_short_sat(v.s8), convert_short_sat(v.s9), convert_short_sat(v.sA), convert_short_sat(v.sB), convert_short_sat(v.sC), convert_short_sat(v.sD), convert_short_sat(v.sE), convert_short_sat(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat(float16 v) { - return (ushort16)(convert_ushort_sat(v.s0), convert_ushort_sat(v.s1), convert_ushort_sat(v.s2), convert_ushort_sat(v.s3), convert_ushort_sat(v.s4), convert_ushort_sat(v.s5), convert_ushort_sat(v.s6), convert_ushort_sat(v.s7), convert_ushort_sat(v.s8), convert_ushort_sat(v.s9), convert_ushort_sat(v.sA), convert_ushort_sat(v.sB), convert_ushort_sat(v.sC), convert_ushort_sat(v.sD), convert_ushort_sat(v.sE), convert_ushort_sat(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat(float16 v) { - return (char16)(convert_char_sat(v.s0), convert_char_sat(v.s1), convert_char_sat(v.s2), convert_char_sat(v.s3), convert_char_sat(v.s4), convert_char_sat(v.s5), convert_char_sat(v.s6), convert_char_sat(v.s7), convert_char_sat(v.s8), convert_char_sat(v.s9), convert_char_sat(v.sA), convert_char_sat(v.sB), convert_char_sat(v.sC), convert_char_sat(v.sD), convert_char_sat(v.sE), convert_char_sat(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat(float16 v) { - return (uchar16)(convert_uchar_sat(v.s0), convert_uchar_sat(v.s1), convert_uchar_sat(v.s2), convert_uchar_sat(v.s3), convert_uchar_sat(v.s4), convert_uchar_sat(v.s5), convert_uchar_sat(v.s6), convert_uchar_sat(v.s7), convert_uchar_sat(v.s8), convert_uchar_sat(v.s9), convert_uchar_sat(v.sA), convert_uchar_sat(v.sB), convert_uchar_sat(v.sC), convert_uchar_sat(v.sD), convert_uchar_sat(v.sE), convert_uchar_sat(v.sF)); -} - - -float __gen_ocl_rndz(float x); -float __gen_ocl_rnde(float x); -float __gen_ocl_rndu(float x); -float __gen_ocl_rndd(float x); -INLINE_OVERLOADABLE float __convert_float_rtz(long x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long l = u.f; - if((l > x && x > 0) || x >= 0x7fffffc000000000 || - (l < x && x < 0)) { - u.u -= 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtp(long x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long l = u.f; //can not use u.f < x - if(l < x && x < 0x7fffffc000000000) { - if(x > 0) - u.u = u.u + 1; - else - u.u = u.u - 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtn(long x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long l = u.f; //avoid overflow - if(l > x || x >= 0x7fffffc000000000) { - if(x > 0) - u.u = u.u - 1; - else - u.u = u.u + 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtz(ulong x) -{ - union { - uint u; - float f; - } u; - u.f = x; - ulong l = u.f; - if(l > x || x >= 0xffffff8000000000) - u.u -= 1; - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtp(ulong x) -{ - union { - uint u; - float f; - } u; - u.f = x; - ulong l = u.f; //can not use u.f < x - if(l < x && x < 0xffffff8000000000) - u.u = u.u + 1; - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtn(ulong x) -{ - return __convert_float_rtz(x); -} -INLINE_OVERLOADABLE float __convert_float_rtz(int x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long i = u.f; - if((i > x && x > 0) || - (i < x && x < 0)) { - u.u -= 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtp(int x) -{ - union { - uint u; - float f; - } u; - u.f = x; - int i = u.f; - if(i < x) { - if(x > 0) - u.u += 1; - else - u.u -= 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtn(int x) -{ - union { - uint u; - float f; - } u; - u.f = x; - long i = u.f; //avoid overflow - if(i > x) { - if(x > 0) - u.u = u.u - 1; - else - u.u = u.u + 1; - } - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtz(uint x) -{ - union { - uint u; - float f; - } u; - u.f = x; - ulong i = u.f; - if(i > x) - u.u -= 1; - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtp(uint x) -{ - union { - uint u; - float f; - } u; - u.f = x; - uint i = u.f; - if(i < x) - u.u += 1; - return u.f; -} -INLINE_OVERLOADABLE float __convert_float_rtn(uint x) -{ - return __convert_float_rtz(x); -} - -INLINE_OVERLOADABLE long convert_long_rte(long x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtz(long x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtp(long x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtn(long x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rte(long x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtz(long x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtp(long x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtn(long x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rte(long x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtz(long x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtp(long x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtn(long x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rte(long x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtz(long x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtp(long x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtn(long x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rte(long x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtz(long x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtp(long x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtn(long x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rte(long x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtz(long x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtp(long x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtn(long x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rte(long x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtz(long x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtp(long x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtn(long x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rte(long x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtz(long x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtp(long x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtn(long x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rte(long x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtz(long x) -{ return __convert_float_rtz(x); } -INLINE_OVERLOADABLE float convert_float_rtp(long x) -{ return __convert_float_rtp(x); } -INLINE_OVERLOADABLE float convert_float_rtn(long x) -{ return __convert_float_rtn(x); } -INLINE_OVERLOADABLE long convert_long_rte(ulong x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtz(ulong x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtp(ulong x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtn(ulong x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rte(ulong x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtz(ulong x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtp(ulong x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtn(ulong x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rte(ulong x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtz(ulong x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtp(ulong x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtn(ulong x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rte(ulong x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtz(ulong x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtp(ulong x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtn(ulong x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rte(ulong x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtz(ulong x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtp(ulong x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtn(ulong x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rte(ulong x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtz(ulong x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtp(ulong x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtn(ulong x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rte(ulong x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtz(ulong x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtp(ulong x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtn(ulong x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rte(ulong x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtz(ulong x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtp(ulong x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtn(ulong x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rte(ulong x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtz(ulong x) -{ return __convert_float_rtz(x); } -INLINE_OVERLOADABLE float convert_float_rtp(ulong x) -{ return __convert_float_rtp(x); } -INLINE_OVERLOADABLE float convert_float_rtn(ulong x) -{ return __convert_float_rtn(x); } -INLINE_OVERLOADABLE long convert_long_rte(int x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtz(int x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtp(int x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtn(int x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rte(int x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtz(int x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtp(int x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtn(int x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rte(int x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtz(int x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtp(int x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtn(int x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rte(int x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtz(int x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtp(int x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtn(int x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rte(int x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtz(int x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtp(int x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtn(int x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rte(int x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtz(int x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtp(int x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtn(int x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rte(int x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtz(int x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtp(int x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtn(int x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rte(int x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtz(int x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtp(int x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtn(int x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rte(int x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtz(int x) -{ return __convert_float_rtz(x); } -INLINE_OVERLOADABLE float convert_float_rtp(int x) -{ return __convert_float_rtp(x); } -INLINE_OVERLOADABLE float convert_float_rtn(int x) -{ return __convert_float_rtn(x); } -INLINE_OVERLOADABLE long convert_long_rte(uint x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtz(uint x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtp(uint x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtn(uint x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rte(uint x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtz(uint x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtp(uint x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtn(uint x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rte(uint x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtz(uint x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtp(uint x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtn(uint x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rte(uint x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtz(uint x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtp(uint x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtn(uint x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rte(uint x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtz(uint x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtp(uint x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtn(uint x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rte(uint x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtz(uint x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtp(uint x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtn(uint x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rte(uint x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtz(uint x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtp(uint x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtn(uint x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rte(uint x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtz(uint x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtp(uint x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtn(uint x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rte(uint x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtz(uint x) -{ return __convert_float_rtz(x); } -INLINE_OVERLOADABLE float convert_float_rtp(uint x) -{ return __convert_float_rtp(x); } -INLINE_OVERLOADABLE float convert_float_rtn(uint x) -{ return __convert_float_rtn(x); } -INLINE_OVERLOADABLE long convert_long_rte(short x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtz(short x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtp(short x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtn(short x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rte(short x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtz(short x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtp(short x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtn(short x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rte(short x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtz(short x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtp(short x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtn(short x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rte(short x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtz(short x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtp(short x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtn(short x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rte(short x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtz(short x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtp(short x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtn(short x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rte(short x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtz(short x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtp(short x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtn(short x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rte(short x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtz(short x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtp(short x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtn(short x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rte(short x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtz(short x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtp(short x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtn(short x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rte(short x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtz(short x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtp(short x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtn(short x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rte(ushort x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtz(ushort x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtp(ushort x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtn(ushort x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rte(ushort x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtz(ushort x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtp(ushort x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtn(ushort x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rte(ushort x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtz(ushort x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtp(ushort x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtn(ushort x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rte(ushort x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtz(ushort x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtp(ushort x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtn(ushort x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rte(ushort x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtz(ushort x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtp(ushort x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtn(ushort x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rte(ushort x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtz(ushort x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtp(ushort x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtn(ushort x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rte(ushort x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtz(ushort x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtp(ushort x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtn(ushort x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rte(ushort x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtz(ushort x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtp(ushort x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtn(ushort x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rte(ushort x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtz(ushort x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtp(ushort x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtn(ushort x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rte(char x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtz(char x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtp(char x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtn(char x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rte(char x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtz(char x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtp(char x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtn(char x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rte(char x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtz(char x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtp(char x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtn(char x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rte(char x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtz(char x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtp(char x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtn(char x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rte(char x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtz(char x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtp(char x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtn(char x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rte(char x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtz(char x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtp(char x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtn(char x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rte(char x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtz(char x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtp(char x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtn(char x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rte(char x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtz(char x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtp(char x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtn(char x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rte(char x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtz(char x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtp(char x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtn(char x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rte(uchar x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtz(uchar x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtp(uchar x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rtn(uchar x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rte(uchar x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtz(uchar x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtp(uchar x) -{ return x; } -INLINE_OVERLOADABLE ulong convert_ulong_rtn(uchar x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rte(uchar x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtz(uchar x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtp(uchar x) -{ return x; } -INLINE_OVERLOADABLE int convert_int_rtn(uchar x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rte(uchar x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtz(uchar x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtp(uchar x) -{ return x; } -INLINE_OVERLOADABLE uint convert_uint_rtn(uchar x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rte(uchar x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtz(uchar x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtp(uchar x) -{ return x; } -INLINE_OVERLOADABLE short convert_short_rtn(uchar x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rte(uchar x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtz(uchar x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtp(uchar x) -{ return x; } -INLINE_OVERLOADABLE ushort convert_ushort_rtn(uchar x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rte(uchar x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtz(uchar x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtp(uchar x) -{ return x; } -INLINE_OVERLOADABLE char convert_char_rtn(uchar x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rte(uchar x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtz(uchar x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtp(uchar x) -{ return x; } -INLINE_OVERLOADABLE uchar convert_uchar_rtn(uchar x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rte(uchar x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtz(uchar x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtp(uchar x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtn(uchar x) -{ return x; } -INLINE_OVERLOADABLE long convert_long_rte(float x) -{ return __gen_ocl_rnde(x); } -INLINE_OVERLOADABLE long convert_long_rtz(float x) -{ return __gen_ocl_rndz(x); } -INLINE_OVERLOADABLE long convert_long_rtp(float x) -{ return __gen_ocl_rndu(x); } -INLINE_OVERLOADABLE long convert_long_rtn(float x) -{ return __gen_ocl_rndd(x); } -INLINE_OVERLOADABLE ulong convert_ulong_rte(float x) -{ return __gen_ocl_rnde(x); } -INLINE_OVERLOADABLE ulong convert_ulong_rtz(float x) -{ return __gen_ocl_rndz(x); } -INLINE_OVERLOADABLE ulong convert_ulong_rtp(float x) -{ return __gen_ocl_rndu(x); } -INLINE_OVERLOADABLE ulong convert_ulong_rtn(float x) -{ return __gen_ocl_rndd(x); } -INLINE_OVERLOADABLE int convert_int_rte(float x) -{ return __gen_ocl_rnde(x); } -INLINE_OVERLOADABLE int convert_int_rtz(float x) -{ return __gen_ocl_rndz(x); } -INLINE_OVERLOADABLE int convert_int_rtp(float x) -{ return __gen_ocl_rndu(x); } -INLINE_OVERLOADABLE int convert_int_rtn(float x) -{ return __gen_ocl_rndd(x); } -INLINE_OVERLOADABLE uint convert_uint_rte(float x) -{ return __gen_ocl_rnde(x); } -INLINE_OVERLOADABLE uint convert_uint_rtz(float x) -{ return __gen_ocl_rndz(x); } -INLINE_OVERLOADABLE uint convert_uint_rtp(float x) -{ return __gen_ocl_rndu(x); } -INLINE_OVERLOADABLE uint convert_uint_rtn(float x) -{ return __gen_ocl_rndd(x); } -INLINE_OVERLOADABLE short convert_short_rte(float x) -{ return __gen_ocl_rnde(x); } -INLINE_OVERLOADABLE short convert_short_rtz(float x) -{ return __gen_ocl_rndz(x); } -INLINE_OVERLOADABLE short convert_short_rtp(float x) -{ return __gen_ocl_rndu(x); } -INLINE_OVERLOADABLE short convert_short_rtn(float x) -{ return __gen_ocl_rndd(x); } -INLINE_OVERLOADABLE ushort convert_ushort_rte(float x) -{ return __gen_ocl_rnde(x); } -INLINE_OVERLOADABLE ushort convert_ushort_rtz(float x) -{ return __gen_ocl_rndz(x); } -INLINE_OVERLOADABLE ushort convert_ushort_rtp(float x) -{ return __gen_ocl_rndu(x); } -INLINE_OVERLOADABLE ushort convert_ushort_rtn(float x) -{ return __gen_ocl_rndd(x); } -INLINE_OVERLOADABLE char convert_char_rte(float x) -{ return __gen_ocl_rnde(x); } -INLINE_OVERLOADABLE char convert_char_rtz(float x) -{ return __gen_ocl_rndz(x); } -INLINE_OVERLOADABLE char convert_char_rtp(float x) -{ return __gen_ocl_rndu(x); } -INLINE_OVERLOADABLE char convert_char_rtn(float x) -{ return __gen_ocl_rndd(x); } -INLINE_OVERLOADABLE uchar convert_uchar_rte(float x) -{ return __gen_ocl_rnde(x); } -INLINE_OVERLOADABLE uchar convert_uchar_rtz(float x) -{ return __gen_ocl_rndz(x); } -INLINE_OVERLOADABLE uchar convert_uchar_rtp(float x) -{ return __gen_ocl_rndu(x); } -INLINE_OVERLOADABLE uchar convert_uchar_rtn(float x) -{ return __gen_ocl_rndd(x); } -INLINE_OVERLOADABLE float convert_float_rte(float x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtz(float x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtp(float x) -{ return x; } -INLINE_OVERLOADABLE float convert_float_rtn(float x) -{ return x; } -INLINE OVERLOADABLE long2 convert_long2_rte(long2 v) { - return (long2)(convert_long_rte(v.s0), convert_long_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtz(long2 v) { - return (long2)(convert_long_rtz(v.s0), convert_long_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtp(long2 v) { - return (long2)(convert_long_rtp(v.s0), convert_long_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtn(long2 v) { - return (long2)(convert_long_rtn(v.s0), convert_long_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rte(long2 v) { - return (ulong2)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtz(long2 v) { - return (ulong2)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtp(long2 v) { - return (ulong2)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtn(long2 v) { - return (ulong2)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rte(long2 v) { - return (int2)(convert_int_rte(v.s0), convert_int_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtz(long2 v) { - return (int2)(convert_int_rtz(v.s0), convert_int_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtp(long2 v) { - return (int2)(convert_int_rtp(v.s0), convert_int_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtn(long2 v) { - return (int2)(convert_int_rtn(v.s0), convert_int_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rte(long2 v) { - return (uint2)(convert_uint_rte(v.s0), convert_uint_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtz(long2 v) { - return (uint2)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtp(long2 v) { - return (uint2)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtn(long2 v) { - return (uint2)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rte(long2 v) { - return (short2)(convert_short_rte(v.s0), convert_short_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtz(long2 v) { - return (short2)(convert_short_rtz(v.s0), convert_short_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtp(long2 v) { - return (short2)(convert_short_rtp(v.s0), convert_short_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtn(long2 v) { - return (short2)(convert_short_rtn(v.s0), convert_short_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rte(long2 v) { - return (ushort2)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtz(long2 v) { - return (ushort2)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtp(long2 v) { - return (ushort2)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtn(long2 v) { - return (ushort2)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rte(long2 v) { - return (char2)(convert_char_rte(v.s0), convert_char_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtz(long2 v) { - return (char2)(convert_char_rtz(v.s0), convert_char_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtp(long2 v) { - return (char2)(convert_char_rtp(v.s0), convert_char_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtn(long2 v) { - return (char2)(convert_char_rtn(v.s0), convert_char_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rte(long2 v) { - return (uchar2)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtz(long2 v) { - return (uchar2)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtp(long2 v) { - return (uchar2)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtn(long2 v) { - return (uchar2)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rte(long2 v) { - return (float2)(convert_float_rte(v.s0), convert_float_rte(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtz(long2 v) { - return (float2)(convert_float_rtz(v.s0), convert_float_rtz(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtp(long2 v) { - return (float2)(convert_float_rtp(v.s0), convert_float_rtp(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtn(long2 v) { - return (float2)(convert_float_rtn(v.s0), convert_float_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rte(ulong2 v) { - return (long2)(convert_long_rte(v.s0), convert_long_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtz(ulong2 v) { - return (long2)(convert_long_rtz(v.s0), convert_long_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtp(ulong2 v) { - return (long2)(convert_long_rtp(v.s0), convert_long_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtn(ulong2 v) { - return (long2)(convert_long_rtn(v.s0), convert_long_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rte(ulong2 v) { - return (ulong2)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtz(ulong2 v) { - return (ulong2)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtp(ulong2 v) { - return (ulong2)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtn(ulong2 v) { - return (ulong2)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rte(ulong2 v) { - return (int2)(convert_int_rte(v.s0), convert_int_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtz(ulong2 v) { - return (int2)(convert_int_rtz(v.s0), convert_int_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtp(ulong2 v) { - return (int2)(convert_int_rtp(v.s0), convert_int_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtn(ulong2 v) { - return (int2)(convert_int_rtn(v.s0), convert_int_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rte(ulong2 v) { - return (uint2)(convert_uint_rte(v.s0), convert_uint_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtz(ulong2 v) { - return (uint2)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtp(ulong2 v) { - return (uint2)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtn(ulong2 v) { - return (uint2)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rte(ulong2 v) { - return (short2)(convert_short_rte(v.s0), convert_short_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtz(ulong2 v) { - return (short2)(convert_short_rtz(v.s0), convert_short_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtp(ulong2 v) { - return (short2)(convert_short_rtp(v.s0), convert_short_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtn(ulong2 v) { - return (short2)(convert_short_rtn(v.s0), convert_short_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rte(ulong2 v) { - return (ushort2)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtz(ulong2 v) { - return (ushort2)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtp(ulong2 v) { - return (ushort2)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtn(ulong2 v) { - return (ushort2)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rte(ulong2 v) { - return (char2)(convert_char_rte(v.s0), convert_char_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtz(ulong2 v) { - return (char2)(convert_char_rtz(v.s0), convert_char_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtp(ulong2 v) { - return (char2)(convert_char_rtp(v.s0), convert_char_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtn(ulong2 v) { - return (char2)(convert_char_rtn(v.s0), convert_char_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rte(ulong2 v) { - return (uchar2)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtz(ulong2 v) { - return (uchar2)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtp(ulong2 v) { - return (uchar2)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtn(ulong2 v) { - return (uchar2)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rte(ulong2 v) { - return (float2)(convert_float_rte(v.s0), convert_float_rte(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtz(ulong2 v) { - return (float2)(convert_float_rtz(v.s0), convert_float_rtz(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtp(ulong2 v) { - return (float2)(convert_float_rtp(v.s0), convert_float_rtp(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtn(ulong2 v) { - return (float2)(convert_float_rtn(v.s0), convert_float_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rte(int2 v) { - return (long2)(convert_long_rte(v.s0), convert_long_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtz(int2 v) { - return (long2)(convert_long_rtz(v.s0), convert_long_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtp(int2 v) { - return (long2)(convert_long_rtp(v.s0), convert_long_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtn(int2 v) { - return (long2)(convert_long_rtn(v.s0), convert_long_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rte(int2 v) { - return (ulong2)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtz(int2 v) { - return (ulong2)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtp(int2 v) { - return (ulong2)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtn(int2 v) { - return (ulong2)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rte(int2 v) { - return (int2)(convert_int_rte(v.s0), convert_int_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtz(int2 v) { - return (int2)(convert_int_rtz(v.s0), convert_int_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtp(int2 v) { - return (int2)(convert_int_rtp(v.s0), convert_int_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtn(int2 v) { - return (int2)(convert_int_rtn(v.s0), convert_int_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rte(int2 v) { - return (uint2)(convert_uint_rte(v.s0), convert_uint_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtz(int2 v) { - return (uint2)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtp(int2 v) { - return (uint2)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtn(int2 v) { - return (uint2)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rte(int2 v) { - return (short2)(convert_short_rte(v.s0), convert_short_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtz(int2 v) { - return (short2)(convert_short_rtz(v.s0), convert_short_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtp(int2 v) { - return (short2)(convert_short_rtp(v.s0), convert_short_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtn(int2 v) { - return (short2)(convert_short_rtn(v.s0), convert_short_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rte(int2 v) { - return (ushort2)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtz(int2 v) { - return (ushort2)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtp(int2 v) { - return (ushort2)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtn(int2 v) { - return (ushort2)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rte(int2 v) { - return (char2)(convert_char_rte(v.s0), convert_char_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtz(int2 v) { - return (char2)(convert_char_rtz(v.s0), convert_char_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtp(int2 v) { - return (char2)(convert_char_rtp(v.s0), convert_char_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtn(int2 v) { - return (char2)(convert_char_rtn(v.s0), convert_char_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rte(int2 v) { - return (uchar2)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtz(int2 v) { - return (uchar2)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtp(int2 v) { - return (uchar2)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtn(int2 v) { - return (uchar2)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rte(int2 v) { - return (float2)(convert_float_rte(v.s0), convert_float_rte(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtz(int2 v) { - return (float2)(convert_float_rtz(v.s0), convert_float_rtz(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtp(int2 v) { - return (float2)(convert_float_rtp(v.s0), convert_float_rtp(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtn(int2 v) { - return (float2)(convert_float_rtn(v.s0), convert_float_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rte(uint2 v) { - return (long2)(convert_long_rte(v.s0), convert_long_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtz(uint2 v) { - return (long2)(convert_long_rtz(v.s0), convert_long_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtp(uint2 v) { - return (long2)(convert_long_rtp(v.s0), convert_long_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtn(uint2 v) { - return (long2)(convert_long_rtn(v.s0), convert_long_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rte(uint2 v) { - return (ulong2)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtz(uint2 v) { - return (ulong2)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtp(uint2 v) { - return (ulong2)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtn(uint2 v) { - return (ulong2)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rte(uint2 v) { - return (int2)(convert_int_rte(v.s0), convert_int_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtz(uint2 v) { - return (int2)(convert_int_rtz(v.s0), convert_int_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtp(uint2 v) { - return (int2)(convert_int_rtp(v.s0), convert_int_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtn(uint2 v) { - return (int2)(convert_int_rtn(v.s0), convert_int_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rte(uint2 v) { - return (uint2)(convert_uint_rte(v.s0), convert_uint_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtz(uint2 v) { - return (uint2)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtp(uint2 v) { - return (uint2)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtn(uint2 v) { - return (uint2)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rte(uint2 v) { - return (short2)(convert_short_rte(v.s0), convert_short_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtz(uint2 v) { - return (short2)(convert_short_rtz(v.s0), convert_short_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtp(uint2 v) { - return (short2)(convert_short_rtp(v.s0), convert_short_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtn(uint2 v) { - return (short2)(convert_short_rtn(v.s0), convert_short_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rte(uint2 v) { - return (ushort2)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtz(uint2 v) { - return (ushort2)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtp(uint2 v) { - return (ushort2)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtn(uint2 v) { - return (ushort2)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rte(uint2 v) { - return (char2)(convert_char_rte(v.s0), convert_char_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtz(uint2 v) { - return (char2)(convert_char_rtz(v.s0), convert_char_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtp(uint2 v) { - return (char2)(convert_char_rtp(v.s0), convert_char_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtn(uint2 v) { - return (char2)(convert_char_rtn(v.s0), convert_char_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rte(uint2 v) { - return (uchar2)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtz(uint2 v) { - return (uchar2)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtp(uint2 v) { - return (uchar2)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtn(uint2 v) { - return (uchar2)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rte(uint2 v) { - return (float2)(convert_float_rte(v.s0), convert_float_rte(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtz(uint2 v) { - return (float2)(convert_float_rtz(v.s0), convert_float_rtz(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtp(uint2 v) { - return (float2)(convert_float_rtp(v.s0), convert_float_rtp(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtn(uint2 v) { - return (float2)(convert_float_rtn(v.s0), convert_float_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rte(short2 v) { - return (long2)(convert_long_rte(v.s0), convert_long_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtz(short2 v) { - return (long2)(convert_long_rtz(v.s0), convert_long_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtp(short2 v) { - return (long2)(convert_long_rtp(v.s0), convert_long_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtn(short2 v) { - return (long2)(convert_long_rtn(v.s0), convert_long_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rte(short2 v) { - return (ulong2)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtz(short2 v) { - return (ulong2)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtp(short2 v) { - return (ulong2)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtn(short2 v) { - return (ulong2)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rte(short2 v) { - return (int2)(convert_int_rte(v.s0), convert_int_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtz(short2 v) { - return (int2)(convert_int_rtz(v.s0), convert_int_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtp(short2 v) { - return (int2)(convert_int_rtp(v.s0), convert_int_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtn(short2 v) { - return (int2)(convert_int_rtn(v.s0), convert_int_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rte(short2 v) { - return (uint2)(convert_uint_rte(v.s0), convert_uint_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtz(short2 v) { - return (uint2)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtp(short2 v) { - return (uint2)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtn(short2 v) { - return (uint2)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rte(short2 v) { - return (short2)(convert_short_rte(v.s0), convert_short_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtz(short2 v) { - return (short2)(convert_short_rtz(v.s0), convert_short_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtp(short2 v) { - return (short2)(convert_short_rtp(v.s0), convert_short_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtn(short2 v) { - return (short2)(convert_short_rtn(v.s0), convert_short_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rte(short2 v) { - return (ushort2)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtz(short2 v) { - return (ushort2)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtp(short2 v) { - return (ushort2)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtn(short2 v) { - return (ushort2)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rte(short2 v) { - return (char2)(convert_char_rte(v.s0), convert_char_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtz(short2 v) { - return (char2)(convert_char_rtz(v.s0), convert_char_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtp(short2 v) { - return (char2)(convert_char_rtp(v.s0), convert_char_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtn(short2 v) { - return (char2)(convert_char_rtn(v.s0), convert_char_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rte(short2 v) { - return (uchar2)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtz(short2 v) { - return (uchar2)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtp(short2 v) { - return (uchar2)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtn(short2 v) { - return (uchar2)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rte(short2 v) { - return (float2)(convert_float_rte(v.s0), convert_float_rte(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtz(short2 v) { - return (float2)(convert_float_rtz(v.s0), convert_float_rtz(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtp(short2 v) { - return (float2)(convert_float_rtp(v.s0), convert_float_rtp(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtn(short2 v) { - return (float2)(convert_float_rtn(v.s0), convert_float_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rte(ushort2 v) { - return (long2)(convert_long_rte(v.s0), convert_long_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtz(ushort2 v) { - return (long2)(convert_long_rtz(v.s0), convert_long_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtp(ushort2 v) { - return (long2)(convert_long_rtp(v.s0), convert_long_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtn(ushort2 v) { - return (long2)(convert_long_rtn(v.s0), convert_long_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rte(ushort2 v) { - return (ulong2)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtz(ushort2 v) { - return (ulong2)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtp(ushort2 v) { - return (ulong2)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtn(ushort2 v) { - return (ulong2)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rte(ushort2 v) { - return (int2)(convert_int_rte(v.s0), convert_int_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtz(ushort2 v) { - return (int2)(convert_int_rtz(v.s0), convert_int_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtp(ushort2 v) { - return (int2)(convert_int_rtp(v.s0), convert_int_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtn(ushort2 v) { - return (int2)(convert_int_rtn(v.s0), convert_int_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rte(ushort2 v) { - return (uint2)(convert_uint_rte(v.s0), convert_uint_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtz(ushort2 v) { - return (uint2)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtp(ushort2 v) { - return (uint2)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtn(ushort2 v) { - return (uint2)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rte(ushort2 v) { - return (short2)(convert_short_rte(v.s0), convert_short_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtz(ushort2 v) { - return (short2)(convert_short_rtz(v.s0), convert_short_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtp(ushort2 v) { - return (short2)(convert_short_rtp(v.s0), convert_short_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtn(ushort2 v) { - return (short2)(convert_short_rtn(v.s0), convert_short_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rte(ushort2 v) { - return (ushort2)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtz(ushort2 v) { - return (ushort2)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtp(ushort2 v) { - return (ushort2)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtn(ushort2 v) { - return (ushort2)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rte(ushort2 v) { - return (char2)(convert_char_rte(v.s0), convert_char_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtz(ushort2 v) { - return (char2)(convert_char_rtz(v.s0), convert_char_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtp(ushort2 v) { - return (char2)(convert_char_rtp(v.s0), convert_char_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtn(ushort2 v) { - return (char2)(convert_char_rtn(v.s0), convert_char_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rte(ushort2 v) { - return (uchar2)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtz(ushort2 v) { - return (uchar2)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtp(ushort2 v) { - return (uchar2)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtn(ushort2 v) { - return (uchar2)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rte(ushort2 v) { - return (float2)(convert_float_rte(v.s0), convert_float_rte(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtz(ushort2 v) { - return (float2)(convert_float_rtz(v.s0), convert_float_rtz(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtp(ushort2 v) { - return (float2)(convert_float_rtp(v.s0), convert_float_rtp(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtn(ushort2 v) { - return (float2)(convert_float_rtn(v.s0), convert_float_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rte(char2 v) { - return (long2)(convert_long_rte(v.s0), convert_long_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtz(char2 v) { - return (long2)(convert_long_rtz(v.s0), convert_long_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtp(char2 v) { - return (long2)(convert_long_rtp(v.s0), convert_long_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtn(char2 v) { - return (long2)(convert_long_rtn(v.s0), convert_long_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rte(char2 v) { - return (ulong2)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtz(char2 v) { - return (ulong2)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtp(char2 v) { - return (ulong2)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtn(char2 v) { - return (ulong2)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rte(char2 v) { - return (int2)(convert_int_rte(v.s0), convert_int_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtz(char2 v) { - return (int2)(convert_int_rtz(v.s0), convert_int_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtp(char2 v) { - return (int2)(convert_int_rtp(v.s0), convert_int_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtn(char2 v) { - return (int2)(convert_int_rtn(v.s0), convert_int_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rte(char2 v) { - return (uint2)(convert_uint_rte(v.s0), convert_uint_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtz(char2 v) { - return (uint2)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtp(char2 v) { - return (uint2)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtn(char2 v) { - return (uint2)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rte(char2 v) { - return (short2)(convert_short_rte(v.s0), convert_short_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtz(char2 v) { - return (short2)(convert_short_rtz(v.s0), convert_short_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtp(char2 v) { - return (short2)(convert_short_rtp(v.s0), convert_short_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtn(char2 v) { - return (short2)(convert_short_rtn(v.s0), convert_short_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rte(char2 v) { - return (ushort2)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtz(char2 v) { - return (ushort2)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtp(char2 v) { - return (ushort2)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtn(char2 v) { - return (ushort2)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rte(char2 v) { - return (char2)(convert_char_rte(v.s0), convert_char_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtz(char2 v) { - return (char2)(convert_char_rtz(v.s0), convert_char_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtp(char2 v) { - return (char2)(convert_char_rtp(v.s0), convert_char_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtn(char2 v) { - return (char2)(convert_char_rtn(v.s0), convert_char_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rte(char2 v) { - return (uchar2)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtz(char2 v) { - return (uchar2)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtp(char2 v) { - return (uchar2)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtn(char2 v) { - return (uchar2)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rte(char2 v) { - return (float2)(convert_float_rte(v.s0), convert_float_rte(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtz(char2 v) { - return (float2)(convert_float_rtz(v.s0), convert_float_rtz(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtp(char2 v) { - return (float2)(convert_float_rtp(v.s0), convert_float_rtp(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtn(char2 v) { - return (float2)(convert_float_rtn(v.s0), convert_float_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rte(uchar2 v) { - return (long2)(convert_long_rte(v.s0), convert_long_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtz(uchar2 v) { - return (long2)(convert_long_rtz(v.s0), convert_long_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtp(uchar2 v) { - return (long2)(convert_long_rtp(v.s0), convert_long_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtn(uchar2 v) { - return (long2)(convert_long_rtn(v.s0), convert_long_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rte(uchar2 v) { - return (ulong2)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtz(uchar2 v) { - return (ulong2)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtp(uchar2 v) { - return (ulong2)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtn(uchar2 v) { - return (ulong2)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rte(uchar2 v) { - return (int2)(convert_int_rte(v.s0), convert_int_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtz(uchar2 v) { - return (int2)(convert_int_rtz(v.s0), convert_int_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtp(uchar2 v) { - return (int2)(convert_int_rtp(v.s0), convert_int_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtn(uchar2 v) { - return (int2)(convert_int_rtn(v.s0), convert_int_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rte(uchar2 v) { - return (uint2)(convert_uint_rte(v.s0), convert_uint_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtz(uchar2 v) { - return (uint2)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtp(uchar2 v) { - return (uint2)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtn(uchar2 v) { - return (uint2)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rte(uchar2 v) { - return (short2)(convert_short_rte(v.s0), convert_short_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtz(uchar2 v) { - return (short2)(convert_short_rtz(v.s0), convert_short_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtp(uchar2 v) { - return (short2)(convert_short_rtp(v.s0), convert_short_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtn(uchar2 v) { - return (short2)(convert_short_rtn(v.s0), convert_short_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rte(uchar2 v) { - return (ushort2)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtz(uchar2 v) { - return (ushort2)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtp(uchar2 v) { - return (ushort2)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtn(uchar2 v) { - return (ushort2)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rte(uchar2 v) { - return (char2)(convert_char_rte(v.s0), convert_char_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtz(uchar2 v) { - return (char2)(convert_char_rtz(v.s0), convert_char_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtp(uchar2 v) { - return (char2)(convert_char_rtp(v.s0), convert_char_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtn(uchar2 v) { - return (char2)(convert_char_rtn(v.s0), convert_char_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rte(uchar2 v) { - return (uchar2)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtz(uchar2 v) { - return (uchar2)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtp(uchar2 v) { - return (uchar2)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtn(uchar2 v) { - return (uchar2)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rte(uchar2 v) { - return (float2)(convert_float_rte(v.s0), convert_float_rte(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtz(uchar2 v) { - return (float2)(convert_float_rtz(v.s0), convert_float_rtz(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtp(uchar2 v) { - return (float2)(convert_float_rtp(v.s0), convert_float_rtp(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtn(uchar2 v) { - return (float2)(convert_float_rtn(v.s0), convert_float_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rte(float2 v) { - return (long2)(convert_long_rte(v.s0), convert_long_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtz(float2 v) { - return (long2)(convert_long_rtz(v.s0), convert_long_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtp(float2 v) { - return (long2)(convert_long_rtp(v.s0), convert_long_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_rtn(float2 v) { - return (long2)(convert_long_rtn(v.s0), convert_long_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rte(float2 v) { - return (ulong2)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtz(float2 v) { - return (ulong2)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtp(float2 v) { - return (ulong2)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_rtn(float2 v) { - return (ulong2)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rte(float2 v) { - return (int2)(convert_int_rte(v.s0), convert_int_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtz(float2 v) { - return (int2)(convert_int_rtz(v.s0), convert_int_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtp(float2 v) { - return (int2)(convert_int_rtp(v.s0), convert_int_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_rtn(float2 v) { - return (int2)(convert_int_rtn(v.s0), convert_int_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rte(float2 v) { - return (uint2)(convert_uint_rte(v.s0), convert_uint_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtz(float2 v) { - return (uint2)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtp(float2 v) { - return (uint2)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_rtn(float2 v) { - return (uint2)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rte(float2 v) { - return (short2)(convert_short_rte(v.s0), convert_short_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtz(float2 v) { - return (short2)(convert_short_rtz(v.s0), convert_short_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtp(float2 v) { - return (short2)(convert_short_rtp(v.s0), convert_short_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_rtn(float2 v) { - return (short2)(convert_short_rtn(v.s0), convert_short_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rte(float2 v) { - return (ushort2)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtz(float2 v) { - return (ushort2)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtp(float2 v) { - return (ushort2)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_rtn(float2 v) { - return (ushort2)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rte(float2 v) { - return (char2)(convert_char_rte(v.s0), convert_char_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtz(float2 v) { - return (char2)(convert_char_rtz(v.s0), convert_char_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtp(float2 v) { - return (char2)(convert_char_rtp(v.s0), convert_char_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_rtn(float2 v) { - return (char2)(convert_char_rtn(v.s0), convert_char_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rte(float2 v) { - return (uchar2)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtz(float2 v) { - return (uchar2)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtp(float2 v) { - return (uchar2)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_rtn(float2 v) { - return (uchar2)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rte(float2 v) { - return (float2)(convert_float_rte(v.s0), convert_float_rte(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtz(float2 v) { - return (float2)(convert_float_rtz(v.s0), convert_float_rtz(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtp(float2 v) { - return (float2)(convert_float_rtp(v.s0), convert_float_rtp(v.s1)); -} - -INLINE OVERLOADABLE float2 convert_float2_rtn(float2 v) { - return (float2)(convert_float_rtn(v.s0), convert_float_rtn(v.s1)); -} - -INLINE OVERLOADABLE long3 convert_long3_rte(long3 v) { - return (long3)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtz(long3 v) { - return (long3)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtp(long3 v) { - return (long3)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtn(long3 v) { - return (long3)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rte(long3 v) { - return (ulong3)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtz(long3 v) { - return (ulong3)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtp(long3 v) { - return (ulong3)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtn(long3 v) { - return (ulong3)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rte(long3 v) { - return (int3)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtz(long3 v) { - return (int3)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtp(long3 v) { - return (int3)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtn(long3 v) { - return (int3)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rte(long3 v) { - return (uint3)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtz(long3 v) { - return (uint3)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtp(long3 v) { - return (uint3)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtn(long3 v) { - return (uint3)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rte(long3 v) { - return (short3)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtz(long3 v) { - return (short3)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtp(long3 v) { - return (short3)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtn(long3 v) { - return (short3)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rte(long3 v) { - return (ushort3)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtz(long3 v) { - return (ushort3)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtp(long3 v) { - return (ushort3)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtn(long3 v) { - return (ushort3)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rte(long3 v) { - return (char3)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtz(long3 v) { - return (char3)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtp(long3 v) { - return (char3)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtn(long3 v) { - return (char3)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rte(long3 v) { - return (uchar3)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtz(long3 v) { - return (uchar3)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtp(long3 v) { - return (uchar3)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtn(long3 v) { - return (uchar3)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rte(long3 v) { - return (float3)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtz(long3 v) { - return (float3)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtp(long3 v) { - return (float3)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtn(long3 v) { - return (float3)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rte(ulong3 v) { - return (long3)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtz(ulong3 v) { - return (long3)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtp(ulong3 v) { - return (long3)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtn(ulong3 v) { - return (long3)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rte(ulong3 v) { - return (ulong3)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtz(ulong3 v) { - return (ulong3)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtp(ulong3 v) { - return (ulong3)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtn(ulong3 v) { - return (ulong3)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rte(ulong3 v) { - return (int3)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtz(ulong3 v) { - return (int3)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtp(ulong3 v) { - return (int3)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtn(ulong3 v) { - return (int3)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rte(ulong3 v) { - return (uint3)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtz(ulong3 v) { - return (uint3)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtp(ulong3 v) { - return (uint3)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtn(ulong3 v) { - return (uint3)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rte(ulong3 v) { - return (short3)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtz(ulong3 v) { - return (short3)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtp(ulong3 v) { - return (short3)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtn(ulong3 v) { - return (short3)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rte(ulong3 v) { - return (ushort3)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtz(ulong3 v) { - return (ushort3)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtp(ulong3 v) { - return (ushort3)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtn(ulong3 v) { - return (ushort3)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rte(ulong3 v) { - return (char3)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtz(ulong3 v) { - return (char3)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtp(ulong3 v) { - return (char3)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtn(ulong3 v) { - return (char3)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rte(ulong3 v) { - return (uchar3)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtz(ulong3 v) { - return (uchar3)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtp(ulong3 v) { - return (uchar3)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtn(ulong3 v) { - return (uchar3)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rte(ulong3 v) { - return (float3)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtz(ulong3 v) { - return (float3)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtp(ulong3 v) { - return (float3)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtn(ulong3 v) { - return (float3)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rte(int3 v) { - return (long3)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtz(int3 v) { - return (long3)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtp(int3 v) { - return (long3)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtn(int3 v) { - return (long3)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rte(int3 v) { - return (ulong3)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtz(int3 v) { - return (ulong3)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtp(int3 v) { - return (ulong3)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtn(int3 v) { - return (ulong3)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rte(int3 v) { - return (int3)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtz(int3 v) { - return (int3)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtp(int3 v) { - return (int3)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtn(int3 v) { - return (int3)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rte(int3 v) { - return (uint3)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtz(int3 v) { - return (uint3)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtp(int3 v) { - return (uint3)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtn(int3 v) { - return (uint3)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rte(int3 v) { - return (short3)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtz(int3 v) { - return (short3)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtp(int3 v) { - return (short3)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtn(int3 v) { - return (short3)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rte(int3 v) { - return (ushort3)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtz(int3 v) { - return (ushort3)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtp(int3 v) { - return (ushort3)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtn(int3 v) { - return (ushort3)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rte(int3 v) { - return (char3)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtz(int3 v) { - return (char3)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtp(int3 v) { - return (char3)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtn(int3 v) { - return (char3)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rte(int3 v) { - return (uchar3)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtz(int3 v) { - return (uchar3)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtp(int3 v) { - return (uchar3)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtn(int3 v) { - return (uchar3)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rte(int3 v) { - return (float3)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtz(int3 v) { - return (float3)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtp(int3 v) { - return (float3)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtn(int3 v) { - return (float3)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rte(uint3 v) { - return (long3)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtz(uint3 v) { - return (long3)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtp(uint3 v) { - return (long3)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtn(uint3 v) { - return (long3)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rte(uint3 v) { - return (ulong3)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtz(uint3 v) { - return (ulong3)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtp(uint3 v) { - return (ulong3)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtn(uint3 v) { - return (ulong3)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rte(uint3 v) { - return (int3)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtz(uint3 v) { - return (int3)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtp(uint3 v) { - return (int3)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtn(uint3 v) { - return (int3)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rte(uint3 v) { - return (uint3)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtz(uint3 v) { - return (uint3)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtp(uint3 v) { - return (uint3)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtn(uint3 v) { - return (uint3)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rte(uint3 v) { - return (short3)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtz(uint3 v) { - return (short3)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtp(uint3 v) { - return (short3)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtn(uint3 v) { - return (short3)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rte(uint3 v) { - return (ushort3)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtz(uint3 v) { - return (ushort3)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtp(uint3 v) { - return (ushort3)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtn(uint3 v) { - return (ushort3)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rte(uint3 v) { - return (char3)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtz(uint3 v) { - return (char3)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtp(uint3 v) { - return (char3)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtn(uint3 v) { - return (char3)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rte(uint3 v) { - return (uchar3)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtz(uint3 v) { - return (uchar3)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtp(uint3 v) { - return (uchar3)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtn(uint3 v) { - return (uchar3)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rte(uint3 v) { - return (float3)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtz(uint3 v) { - return (float3)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtp(uint3 v) { - return (float3)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtn(uint3 v) { - return (float3)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rte(short3 v) { - return (long3)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtz(short3 v) { - return (long3)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtp(short3 v) { - return (long3)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtn(short3 v) { - return (long3)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rte(short3 v) { - return (ulong3)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtz(short3 v) { - return (ulong3)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtp(short3 v) { - return (ulong3)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtn(short3 v) { - return (ulong3)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rte(short3 v) { - return (int3)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtz(short3 v) { - return (int3)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtp(short3 v) { - return (int3)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtn(short3 v) { - return (int3)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rte(short3 v) { - return (uint3)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtz(short3 v) { - return (uint3)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtp(short3 v) { - return (uint3)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtn(short3 v) { - return (uint3)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rte(short3 v) { - return (short3)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtz(short3 v) { - return (short3)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtp(short3 v) { - return (short3)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtn(short3 v) { - return (short3)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rte(short3 v) { - return (ushort3)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtz(short3 v) { - return (ushort3)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtp(short3 v) { - return (ushort3)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtn(short3 v) { - return (ushort3)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rte(short3 v) { - return (char3)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtz(short3 v) { - return (char3)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtp(short3 v) { - return (char3)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtn(short3 v) { - return (char3)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rte(short3 v) { - return (uchar3)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtz(short3 v) { - return (uchar3)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtp(short3 v) { - return (uchar3)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtn(short3 v) { - return (uchar3)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rte(short3 v) { - return (float3)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtz(short3 v) { - return (float3)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtp(short3 v) { - return (float3)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtn(short3 v) { - return (float3)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rte(ushort3 v) { - return (long3)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtz(ushort3 v) { - return (long3)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtp(ushort3 v) { - return (long3)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtn(ushort3 v) { - return (long3)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rte(ushort3 v) { - return (ulong3)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtz(ushort3 v) { - return (ulong3)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtp(ushort3 v) { - return (ulong3)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtn(ushort3 v) { - return (ulong3)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rte(ushort3 v) { - return (int3)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtz(ushort3 v) { - return (int3)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtp(ushort3 v) { - return (int3)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtn(ushort3 v) { - return (int3)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rte(ushort3 v) { - return (uint3)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtz(ushort3 v) { - return (uint3)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtp(ushort3 v) { - return (uint3)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtn(ushort3 v) { - return (uint3)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rte(ushort3 v) { - return (short3)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtz(ushort3 v) { - return (short3)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtp(ushort3 v) { - return (short3)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtn(ushort3 v) { - return (short3)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rte(ushort3 v) { - return (ushort3)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtz(ushort3 v) { - return (ushort3)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtp(ushort3 v) { - return (ushort3)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtn(ushort3 v) { - return (ushort3)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rte(ushort3 v) { - return (char3)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtz(ushort3 v) { - return (char3)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtp(ushort3 v) { - return (char3)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtn(ushort3 v) { - return (char3)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rte(ushort3 v) { - return (uchar3)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtz(ushort3 v) { - return (uchar3)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtp(ushort3 v) { - return (uchar3)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtn(ushort3 v) { - return (uchar3)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rte(ushort3 v) { - return (float3)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtz(ushort3 v) { - return (float3)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtp(ushort3 v) { - return (float3)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtn(ushort3 v) { - return (float3)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rte(char3 v) { - return (long3)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtz(char3 v) { - return (long3)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtp(char3 v) { - return (long3)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtn(char3 v) { - return (long3)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rte(char3 v) { - return (ulong3)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtz(char3 v) { - return (ulong3)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtp(char3 v) { - return (ulong3)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtn(char3 v) { - return (ulong3)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rte(char3 v) { - return (int3)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtz(char3 v) { - return (int3)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtp(char3 v) { - return (int3)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtn(char3 v) { - return (int3)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rte(char3 v) { - return (uint3)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtz(char3 v) { - return (uint3)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtp(char3 v) { - return (uint3)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtn(char3 v) { - return (uint3)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rte(char3 v) { - return (short3)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtz(char3 v) { - return (short3)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtp(char3 v) { - return (short3)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtn(char3 v) { - return (short3)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rte(char3 v) { - return (ushort3)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtz(char3 v) { - return (ushort3)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtp(char3 v) { - return (ushort3)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtn(char3 v) { - return (ushort3)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rte(char3 v) { - return (char3)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtz(char3 v) { - return (char3)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtp(char3 v) { - return (char3)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtn(char3 v) { - return (char3)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rte(char3 v) { - return (uchar3)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtz(char3 v) { - return (uchar3)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtp(char3 v) { - return (uchar3)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtn(char3 v) { - return (uchar3)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rte(char3 v) { - return (float3)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtz(char3 v) { - return (float3)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtp(char3 v) { - return (float3)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtn(char3 v) { - return (float3)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rte(uchar3 v) { - return (long3)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtz(uchar3 v) { - return (long3)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtp(uchar3 v) { - return (long3)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtn(uchar3 v) { - return (long3)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rte(uchar3 v) { - return (ulong3)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtz(uchar3 v) { - return (ulong3)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtp(uchar3 v) { - return (ulong3)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtn(uchar3 v) { - return (ulong3)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rte(uchar3 v) { - return (int3)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtz(uchar3 v) { - return (int3)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtp(uchar3 v) { - return (int3)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtn(uchar3 v) { - return (int3)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rte(uchar3 v) { - return (uint3)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtz(uchar3 v) { - return (uint3)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtp(uchar3 v) { - return (uint3)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtn(uchar3 v) { - return (uint3)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rte(uchar3 v) { - return (short3)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtz(uchar3 v) { - return (short3)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtp(uchar3 v) { - return (short3)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtn(uchar3 v) { - return (short3)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rte(uchar3 v) { - return (ushort3)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtz(uchar3 v) { - return (ushort3)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtp(uchar3 v) { - return (ushort3)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtn(uchar3 v) { - return (ushort3)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rte(uchar3 v) { - return (char3)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtz(uchar3 v) { - return (char3)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtp(uchar3 v) { - return (char3)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtn(uchar3 v) { - return (char3)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rte(uchar3 v) { - return (uchar3)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtz(uchar3 v) { - return (uchar3)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtp(uchar3 v) { - return (uchar3)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtn(uchar3 v) { - return (uchar3)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rte(uchar3 v) { - return (float3)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtz(uchar3 v) { - return (float3)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtp(uchar3 v) { - return (float3)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtn(uchar3 v) { - return (float3)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rte(float3 v) { - return (long3)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtz(float3 v) { - return (long3)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtp(float3 v) { - return (long3)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_rtn(float3 v) { - return (long3)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rte(float3 v) { - return (ulong3)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtz(float3 v) { - return (ulong3)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtp(float3 v) { - return (ulong3)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_rtn(float3 v) { - return (ulong3)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rte(float3 v) { - return (int3)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtz(float3 v) { - return (int3)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtp(float3 v) { - return (int3)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_rtn(float3 v) { - return (int3)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rte(float3 v) { - return (uint3)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtz(float3 v) { - return (uint3)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtp(float3 v) { - return (uint3)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_rtn(float3 v) { - return (uint3)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rte(float3 v) { - return (short3)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtz(float3 v) { - return (short3)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtp(float3 v) { - return (short3)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_rtn(float3 v) { - return (short3)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rte(float3 v) { - return (ushort3)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtz(float3 v) { - return (ushort3)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtp(float3 v) { - return (ushort3)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_rtn(float3 v) { - return (ushort3)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rte(float3 v) { - return (char3)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtz(float3 v) { - return (char3)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtp(float3 v) { - return (char3)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_rtn(float3 v) { - return (char3)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rte(float3 v) { - return (uchar3)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtz(float3 v) { - return (uchar3)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtp(float3 v) { - return (uchar3)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_rtn(float3 v) { - return (uchar3)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rte(float3 v) { - return (float3)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtz(float3 v) { - return (float3)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtp(float3 v) { - return (float3)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2)); -} - -INLINE OVERLOADABLE float3 convert_float3_rtn(float3 v) { - return (float3)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2)); -} - -INLINE OVERLOADABLE long4 convert_long4_rte(long4 v) { - return (long4)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtz(long4 v) { - return (long4)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtp(long4 v) { - return (long4)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtn(long4 v) { - return (long4)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rte(long4 v) { - return (ulong4)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtz(long4 v) { - return (ulong4)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtp(long4 v) { - return (ulong4)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtn(long4 v) { - return (ulong4)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rte(long4 v) { - return (int4)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtz(long4 v) { - return (int4)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtp(long4 v) { - return (int4)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtn(long4 v) { - return (int4)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rte(long4 v) { - return (uint4)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtz(long4 v) { - return (uint4)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtp(long4 v) { - return (uint4)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtn(long4 v) { - return (uint4)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rte(long4 v) { - return (short4)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtz(long4 v) { - return (short4)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtp(long4 v) { - return (short4)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtn(long4 v) { - return (short4)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rte(long4 v) { - return (ushort4)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtz(long4 v) { - return (ushort4)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtp(long4 v) { - return (ushort4)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtn(long4 v) { - return (ushort4)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rte(long4 v) { - return (char4)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtz(long4 v) { - return (char4)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtp(long4 v) { - return (char4)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtn(long4 v) { - return (char4)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rte(long4 v) { - return (uchar4)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtz(long4 v) { - return (uchar4)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtp(long4 v) { - return (uchar4)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtn(long4 v) { - return (uchar4)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rte(long4 v) { - return (float4)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtz(long4 v) { - return (float4)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtp(long4 v) { - return (float4)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtn(long4 v) { - return (float4)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rte(ulong4 v) { - return (long4)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtz(ulong4 v) { - return (long4)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtp(ulong4 v) { - return (long4)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtn(ulong4 v) { - return (long4)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rte(ulong4 v) { - return (ulong4)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtz(ulong4 v) { - return (ulong4)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtp(ulong4 v) { - return (ulong4)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtn(ulong4 v) { - return (ulong4)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rte(ulong4 v) { - return (int4)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtz(ulong4 v) { - return (int4)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtp(ulong4 v) { - return (int4)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtn(ulong4 v) { - return (int4)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rte(ulong4 v) { - return (uint4)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtz(ulong4 v) { - return (uint4)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtp(ulong4 v) { - return (uint4)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtn(ulong4 v) { - return (uint4)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rte(ulong4 v) { - return (short4)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtz(ulong4 v) { - return (short4)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtp(ulong4 v) { - return (short4)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtn(ulong4 v) { - return (short4)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rte(ulong4 v) { - return (ushort4)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtz(ulong4 v) { - return (ushort4)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtp(ulong4 v) { - return (ushort4)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtn(ulong4 v) { - return (ushort4)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rte(ulong4 v) { - return (char4)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtz(ulong4 v) { - return (char4)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtp(ulong4 v) { - return (char4)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtn(ulong4 v) { - return (char4)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rte(ulong4 v) { - return (uchar4)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtz(ulong4 v) { - return (uchar4)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtp(ulong4 v) { - return (uchar4)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtn(ulong4 v) { - return (uchar4)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rte(ulong4 v) { - return (float4)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtz(ulong4 v) { - return (float4)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtp(ulong4 v) { - return (float4)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtn(ulong4 v) { - return (float4)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rte(int4 v) { - return (long4)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtz(int4 v) { - return (long4)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtp(int4 v) { - return (long4)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtn(int4 v) { - return (long4)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rte(int4 v) { - return (ulong4)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtz(int4 v) { - return (ulong4)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtp(int4 v) { - return (ulong4)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtn(int4 v) { - return (ulong4)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rte(int4 v) { - return (int4)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtz(int4 v) { - return (int4)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtp(int4 v) { - return (int4)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtn(int4 v) { - return (int4)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rte(int4 v) { - return (uint4)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtz(int4 v) { - return (uint4)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtp(int4 v) { - return (uint4)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtn(int4 v) { - return (uint4)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rte(int4 v) { - return (short4)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtz(int4 v) { - return (short4)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtp(int4 v) { - return (short4)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtn(int4 v) { - return (short4)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rte(int4 v) { - return (ushort4)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtz(int4 v) { - return (ushort4)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtp(int4 v) { - return (ushort4)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtn(int4 v) { - return (ushort4)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rte(int4 v) { - return (char4)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtz(int4 v) { - return (char4)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtp(int4 v) { - return (char4)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtn(int4 v) { - return (char4)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rte(int4 v) { - return (uchar4)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtz(int4 v) { - return (uchar4)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtp(int4 v) { - return (uchar4)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtn(int4 v) { - return (uchar4)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rte(int4 v) { - return (float4)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtz(int4 v) { - return (float4)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtp(int4 v) { - return (float4)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtn(int4 v) { - return (float4)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rte(uint4 v) { - return (long4)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtz(uint4 v) { - return (long4)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtp(uint4 v) { - return (long4)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtn(uint4 v) { - return (long4)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rte(uint4 v) { - return (ulong4)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtz(uint4 v) { - return (ulong4)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtp(uint4 v) { - return (ulong4)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtn(uint4 v) { - return (ulong4)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rte(uint4 v) { - return (int4)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtz(uint4 v) { - return (int4)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtp(uint4 v) { - return (int4)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtn(uint4 v) { - return (int4)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rte(uint4 v) { - return (uint4)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtz(uint4 v) { - return (uint4)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtp(uint4 v) { - return (uint4)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtn(uint4 v) { - return (uint4)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rte(uint4 v) { - return (short4)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtz(uint4 v) { - return (short4)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtp(uint4 v) { - return (short4)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtn(uint4 v) { - return (short4)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rte(uint4 v) { - return (ushort4)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtz(uint4 v) { - return (ushort4)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtp(uint4 v) { - return (ushort4)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtn(uint4 v) { - return (ushort4)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rte(uint4 v) { - return (char4)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtz(uint4 v) { - return (char4)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtp(uint4 v) { - return (char4)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtn(uint4 v) { - return (char4)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rte(uint4 v) { - return (uchar4)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtz(uint4 v) { - return (uchar4)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtp(uint4 v) { - return (uchar4)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtn(uint4 v) { - return (uchar4)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rte(uint4 v) { - return (float4)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtz(uint4 v) { - return (float4)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtp(uint4 v) { - return (float4)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtn(uint4 v) { - return (float4)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rte(short4 v) { - return (long4)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtz(short4 v) { - return (long4)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtp(short4 v) { - return (long4)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtn(short4 v) { - return (long4)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rte(short4 v) { - return (ulong4)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtz(short4 v) { - return (ulong4)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtp(short4 v) { - return (ulong4)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtn(short4 v) { - return (ulong4)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rte(short4 v) { - return (int4)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtz(short4 v) { - return (int4)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtp(short4 v) { - return (int4)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtn(short4 v) { - return (int4)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rte(short4 v) { - return (uint4)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtz(short4 v) { - return (uint4)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtp(short4 v) { - return (uint4)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtn(short4 v) { - return (uint4)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rte(short4 v) { - return (short4)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtz(short4 v) { - return (short4)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtp(short4 v) { - return (short4)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtn(short4 v) { - return (short4)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rte(short4 v) { - return (ushort4)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtz(short4 v) { - return (ushort4)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtp(short4 v) { - return (ushort4)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtn(short4 v) { - return (ushort4)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rte(short4 v) { - return (char4)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtz(short4 v) { - return (char4)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtp(short4 v) { - return (char4)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtn(short4 v) { - return (char4)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rte(short4 v) { - return (uchar4)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtz(short4 v) { - return (uchar4)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtp(short4 v) { - return (uchar4)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtn(short4 v) { - return (uchar4)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rte(short4 v) { - return (float4)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtz(short4 v) { - return (float4)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtp(short4 v) { - return (float4)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtn(short4 v) { - return (float4)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rte(ushort4 v) { - return (long4)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtz(ushort4 v) { - return (long4)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtp(ushort4 v) { - return (long4)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtn(ushort4 v) { - return (long4)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rte(ushort4 v) { - return (ulong4)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtz(ushort4 v) { - return (ulong4)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtp(ushort4 v) { - return (ulong4)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtn(ushort4 v) { - return (ulong4)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rte(ushort4 v) { - return (int4)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtz(ushort4 v) { - return (int4)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtp(ushort4 v) { - return (int4)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtn(ushort4 v) { - return (int4)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rte(ushort4 v) { - return (uint4)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtz(ushort4 v) { - return (uint4)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtp(ushort4 v) { - return (uint4)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtn(ushort4 v) { - return (uint4)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rte(ushort4 v) { - return (short4)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtz(ushort4 v) { - return (short4)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtp(ushort4 v) { - return (short4)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtn(ushort4 v) { - return (short4)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rte(ushort4 v) { - return (ushort4)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtz(ushort4 v) { - return (ushort4)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtp(ushort4 v) { - return (ushort4)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtn(ushort4 v) { - return (ushort4)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rte(ushort4 v) { - return (char4)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtz(ushort4 v) { - return (char4)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtp(ushort4 v) { - return (char4)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtn(ushort4 v) { - return (char4)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rte(ushort4 v) { - return (uchar4)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtz(ushort4 v) { - return (uchar4)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtp(ushort4 v) { - return (uchar4)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtn(ushort4 v) { - return (uchar4)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rte(ushort4 v) { - return (float4)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtz(ushort4 v) { - return (float4)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtp(ushort4 v) { - return (float4)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtn(ushort4 v) { - return (float4)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rte(char4 v) { - return (long4)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtz(char4 v) { - return (long4)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtp(char4 v) { - return (long4)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtn(char4 v) { - return (long4)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rte(char4 v) { - return (ulong4)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtz(char4 v) { - return (ulong4)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtp(char4 v) { - return (ulong4)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtn(char4 v) { - return (ulong4)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rte(char4 v) { - return (int4)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtz(char4 v) { - return (int4)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtp(char4 v) { - return (int4)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtn(char4 v) { - return (int4)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rte(char4 v) { - return (uint4)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtz(char4 v) { - return (uint4)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtp(char4 v) { - return (uint4)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtn(char4 v) { - return (uint4)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rte(char4 v) { - return (short4)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtz(char4 v) { - return (short4)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtp(char4 v) { - return (short4)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtn(char4 v) { - return (short4)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rte(char4 v) { - return (ushort4)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtz(char4 v) { - return (ushort4)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtp(char4 v) { - return (ushort4)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtn(char4 v) { - return (ushort4)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rte(char4 v) { - return (char4)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtz(char4 v) { - return (char4)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtp(char4 v) { - return (char4)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtn(char4 v) { - return (char4)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rte(char4 v) { - return (uchar4)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtz(char4 v) { - return (uchar4)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtp(char4 v) { - return (uchar4)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtn(char4 v) { - return (uchar4)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rte(char4 v) { - return (float4)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtz(char4 v) { - return (float4)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtp(char4 v) { - return (float4)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtn(char4 v) { - return (float4)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rte(uchar4 v) { - return (long4)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtz(uchar4 v) { - return (long4)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtp(uchar4 v) { - return (long4)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtn(uchar4 v) { - return (long4)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rte(uchar4 v) { - return (ulong4)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtz(uchar4 v) { - return (ulong4)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtp(uchar4 v) { - return (ulong4)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtn(uchar4 v) { - return (ulong4)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rte(uchar4 v) { - return (int4)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtz(uchar4 v) { - return (int4)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtp(uchar4 v) { - return (int4)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtn(uchar4 v) { - return (int4)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rte(uchar4 v) { - return (uint4)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtz(uchar4 v) { - return (uint4)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtp(uchar4 v) { - return (uint4)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtn(uchar4 v) { - return (uint4)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rte(uchar4 v) { - return (short4)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtz(uchar4 v) { - return (short4)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtp(uchar4 v) { - return (short4)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtn(uchar4 v) { - return (short4)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rte(uchar4 v) { - return (ushort4)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtz(uchar4 v) { - return (ushort4)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtp(uchar4 v) { - return (ushort4)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtn(uchar4 v) { - return (ushort4)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rte(uchar4 v) { - return (char4)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtz(uchar4 v) { - return (char4)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtp(uchar4 v) { - return (char4)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtn(uchar4 v) { - return (char4)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rte(uchar4 v) { - return (uchar4)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtz(uchar4 v) { - return (uchar4)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtp(uchar4 v) { - return (uchar4)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtn(uchar4 v) { - return (uchar4)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rte(uchar4 v) { - return (float4)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtz(uchar4 v) { - return (float4)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtp(uchar4 v) { - return (float4)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtn(uchar4 v) { - return (float4)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rte(float4 v) { - return (long4)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtz(float4 v) { - return (long4)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtp(float4 v) { - return (long4)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_rtn(float4 v) { - return (long4)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rte(float4 v) { - return (ulong4)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtz(float4 v) { - return (ulong4)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtp(float4 v) { - return (ulong4)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_rtn(float4 v) { - return (ulong4)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rte(float4 v) { - return (int4)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtz(float4 v) { - return (int4)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtp(float4 v) { - return (int4)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_rtn(float4 v) { - return (int4)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rte(float4 v) { - return (uint4)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtz(float4 v) { - return (uint4)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtp(float4 v) { - return (uint4)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_rtn(float4 v) { - return (uint4)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rte(float4 v) { - return (short4)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtz(float4 v) { - return (short4)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtp(float4 v) { - return (short4)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_rtn(float4 v) { - return (short4)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rte(float4 v) { - return (ushort4)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtz(float4 v) { - return (ushort4)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtp(float4 v) { - return (ushort4)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_rtn(float4 v) { - return (ushort4)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rte(float4 v) { - return (char4)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtz(float4 v) { - return (char4)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtp(float4 v) { - return (char4)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_rtn(float4 v) { - return (char4)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rte(float4 v) { - return (uchar4)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtz(float4 v) { - return (uchar4)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtp(float4 v) { - return (uchar4)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_rtn(float4 v) { - return (uchar4)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rte(float4 v) { - return (float4)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtz(float4 v) { - return (float4)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtp(float4 v) { - return (float4)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3)); -} - -INLINE OVERLOADABLE float4 convert_float4_rtn(float4 v) { - return (float4)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3)); -} - -INLINE OVERLOADABLE long8 convert_long8_rte(long8 v) { - return (long8)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtz(long8 v) { - return (long8)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtp(long8 v) { - return (long8)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtn(long8 v) { - return (long8)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rte(long8 v) { - return (ulong8)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtz(long8 v) { - return (ulong8)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtp(long8 v) { - return (ulong8)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtn(long8 v) { - return (ulong8)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rte(long8 v) { - return (int8)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtz(long8 v) { - return (int8)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtp(long8 v) { - return (int8)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtn(long8 v) { - return (int8)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rte(long8 v) { - return (uint8)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtz(long8 v) { - return (uint8)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtp(long8 v) { - return (uint8)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtn(long8 v) { - return (uint8)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rte(long8 v) { - return (short8)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtz(long8 v) { - return (short8)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtp(long8 v) { - return (short8)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtn(long8 v) { - return (short8)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rte(long8 v) { - return (ushort8)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtz(long8 v) { - return (ushort8)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtp(long8 v) { - return (ushort8)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtn(long8 v) { - return (ushort8)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rte(long8 v) { - return (char8)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtz(long8 v) { - return (char8)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtp(long8 v) { - return (char8)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtn(long8 v) { - return (char8)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rte(long8 v) { - return (uchar8)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtz(long8 v) { - return (uchar8)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtp(long8 v) { - return (uchar8)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtn(long8 v) { - return (uchar8)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rte(long8 v) { - return (float8)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtz(long8 v) { - return (float8)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtp(long8 v) { - return (float8)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtn(long8 v) { - return (float8)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rte(ulong8 v) { - return (long8)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtz(ulong8 v) { - return (long8)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtp(ulong8 v) { - return (long8)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtn(ulong8 v) { - return (long8)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rte(ulong8 v) { - return (ulong8)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtz(ulong8 v) { - return (ulong8)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtp(ulong8 v) { - return (ulong8)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtn(ulong8 v) { - return (ulong8)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rte(ulong8 v) { - return (int8)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtz(ulong8 v) { - return (int8)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtp(ulong8 v) { - return (int8)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtn(ulong8 v) { - return (int8)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rte(ulong8 v) { - return (uint8)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtz(ulong8 v) { - return (uint8)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtp(ulong8 v) { - return (uint8)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtn(ulong8 v) { - return (uint8)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rte(ulong8 v) { - return (short8)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtz(ulong8 v) { - return (short8)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtp(ulong8 v) { - return (short8)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtn(ulong8 v) { - return (short8)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rte(ulong8 v) { - return (ushort8)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtz(ulong8 v) { - return (ushort8)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtp(ulong8 v) { - return (ushort8)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtn(ulong8 v) { - return (ushort8)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rte(ulong8 v) { - return (char8)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtz(ulong8 v) { - return (char8)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtp(ulong8 v) { - return (char8)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtn(ulong8 v) { - return (char8)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rte(ulong8 v) { - return (uchar8)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtz(ulong8 v) { - return (uchar8)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtp(ulong8 v) { - return (uchar8)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtn(ulong8 v) { - return (uchar8)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rte(ulong8 v) { - return (float8)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtz(ulong8 v) { - return (float8)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtp(ulong8 v) { - return (float8)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtn(ulong8 v) { - return (float8)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rte(int8 v) { - return (long8)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtz(int8 v) { - return (long8)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtp(int8 v) { - return (long8)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtn(int8 v) { - return (long8)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rte(int8 v) { - return (ulong8)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtz(int8 v) { - return (ulong8)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtp(int8 v) { - return (ulong8)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtn(int8 v) { - return (ulong8)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rte(int8 v) { - return (int8)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtz(int8 v) { - return (int8)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtp(int8 v) { - return (int8)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtn(int8 v) { - return (int8)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rte(int8 v) { - return (uint8)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtz(int8 v) { - return (uint8)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtp(int8 v) { - return (uint8)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtn(int8 v) { - return (uint8)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rte(int8 v) { - return (short8)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtz(int8 v) { - return (short8)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtp(int8 v) { - return (short8)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtn(int8 v) { - return (short8)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rte(int8 v) { - return (ushort8)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtz(int8 v) { - return (ushort8)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtp(int8 v) { - return (ushort8)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtn(int8 v) { - return (ushort8)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rte(int8 v) { - return (char8)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtz(int8 v) { - return (char8)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtp(int8 v) { - return (char8)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtn(int8 v) { - return (char8)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rte(int8 v) { - return (uchar8)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtz(int8 v) { - return (uchar8)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtp(int8 v) { - return (uchar8)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtn(int8 v) { - return (uchar8)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rte(int8 v) { - return (float8)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtz(int8 v) { - return (float8)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtp(int8 v) { - return (float8)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtn(int8 v) { - return (float8)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rte(uint8 v) { - return (long8)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtz(uint8 v) { - return (long8)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtp(uint8 v) { - return (long8)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtn(uint8 v) { - return (long8)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rte(uint8 v) { - return (ulong8)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtz(uint8 v) { - return (ulong8)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtp(uint8 v) { - return (ulong8)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtn(uint8 v) { - return (ulong8)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rte(uint8 v) { - return (int8)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtz(uint8 v) { - return (int8)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtp(uint8 v) { - return (int8)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtn(uint8 v) { - return (int8)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rte(uint8 v) { - return (uint8)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtz(uint8 v) { - return (uint8)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtp(uint8 v) { - return (uint8)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtn(uint8 v) { - return (uint8)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rte(uint8 v) { - return (short8)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtz(uint8 v) { - return (short8)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtp(uint8 v) { - return (short8)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtn(uint8 v) { - return (short8)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rte(uint8 v) { - return (ushort8)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtz(uint8 v) { - return (ushort8)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtp(uint8 v) { - return (ushort8)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtn(uint8 v) { - return (ushort8)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rte(uint8 v) { - return (char8)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtz(uint8 v) { - return (char8)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtp(uint8 v) { - return (char8)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtn(uint8 v) { - return (char8)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rte(uint8 v) { - return (uchar8)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtz(uint8 v) { - return (uchar8)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtp(uint8 v) { - return (uchar8)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtn(uint8 v) { - return (uchar8)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rte(uint8 v) { - return (float8)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtz(uint8 v) { - return (float8)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtp(uint8 v) { - return (float8)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtn(uint8 v) { - return (float8)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rte(short8 v) { - return (long8)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtz(short8 v) { - return (long8)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtp(short8 v) { - return (long8)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtn(short8 v) { - return (long8)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rte(short8 v) { - return (ulong8)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtz(short8 v) { - return (ulong8)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtp(short8 v) { - return (ulong8)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtn(short8 v) { - return (ulong8)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rte(short8 v) { - return (int8)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtz(short8 v) { - return (int8)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtp(short8 v) { - return (int8)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtn(short8 v) { - return (int8)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rte(short8 v) { - return (uint8)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtz(short8 v) { - return (uint8)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtp(short8 v) { - return (uint8)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtn(short8 v) { - return (uint8)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rte(short8 v) { - return (short8)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtz(short8 v) { - return (short8)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtp(short8 v) { - return (short8)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtn(short8 v) { - return (short8)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rte(short8 v) { - return (ushort8)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtz(short8 v) { - return (ushort8)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtp(short8 v) { - return (ushort8)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtn(short8 v) { - return (ushort8)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rte(short8 v) { - return (char8)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtz(short8 v) { - return (char8)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtp(short8 v) { - return (char8)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtn(short8 v) { - return (char8)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rte(short8 v) { - return (uchar8)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtz(short8 v) { - return (uchar8)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtp(short8 v) { - return (uchar8)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtn(short8 v) { - return (uchar8)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rte(short8 v) { - return (float8)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtz(short8 v) { - return (float8)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtp(short8 v) { - return (float8)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtn(short8 v) { - return (float8)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rte(ushort8 v) { - return (long8)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtz(ushort8 v) { - return (long8)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtp(ushort8 v) { - return (long8)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtn(ushort8 v) { - return (long8)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rte(ushort8 v) { - return (ulong8)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtz(ushort8 v) { - return (ulong8)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtp(ushort8 v) { - return (ulong8)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtn(ushort8 v) { - return (ulong8)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rte(ushort8 v) { - return (int8)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtz(ushort8 v) { - return (int8)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtp(ushort8 v) { - return (int8)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtn(ushort8 v) { - return (int8)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rte(ushort8 v) { - return (uint8)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtz(ushort8 v) { - return (uint8)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtp(ushort8 v) { - return (uint8)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtn(ushort8 v) { - return (uint8)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rte(ushort8 v) { - return (short8)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtz(ushort8 v) { - return (short8)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtp(ushort8 v) { - return (short8)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtn(ushort8 v) { - return (short8)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rte(ushort8 v) { - return (ushort8)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtz(ushort8 v) { - return (ushort8)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtp(ushort8 v) { - return (ushort8)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtn(ushort8 v) { - return (ushort8)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rte(ushort8 v) { - return (char8)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtz(ushort8 v) { - return (char8)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtp(ushort8 v) { - return (char8)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtn(ushort8 v) { - return (char8)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rte(ushort8 v) { - return (uchar8)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtz(ushort8 v) { - return (uchar8)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtp(ushort8 v) { - return (uchar8)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtn(ushort8 v) { - return (uchar8)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rte(ushort8 v) { - return (float8)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtz(ushort8 v) { - return (float8)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtp(ushort8 v) { - return (float8)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtn(ushort8 v) { - return (float8)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rte(char8 v) { - return (long8)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtz(char8 v) { - return (long8)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtp(char8 v) { - return (long8)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtn(char8 v) { - return (long8)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rte(char8 v) { - return (ulong8)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtz(char8 v) { - return (ulong8)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtp(char8 v) { - return (ulong8)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtn(char8 v) { - return (ulong8)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rte(char8 v) { - return (int8)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtz(char8 v) { - return (int8)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtp(char8 v) { - return (int8)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtn(char8 v) { - return (int8)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rte(char8 v) { - return (uint8)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtz(char8 v) { - return (uint8)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtp(char8 v) { - return (uint8)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtn(char8 v) { - return (uint8)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rte(char8 v) { - return (short8)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtz(char8 v) { - return (short8)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtp(char8 v) { - return (short8)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtn(char8 v) { - return (short8)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rte(char8 v) { - return (ushort8)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtz(char8 v) { - return (ushort8)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtp(char8 v) { - return (ushort8)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtn(char8 v) { - return (ushort8)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rte(char8 v) { - return (char8)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtz(char8 v) { - return (char8)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtp(char8 v) { - return (char8)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtn(char8 v) { - return (char8)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rte(char8 v) { - return (uchar8)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtz(char8 v) { - return (uchar8)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtp(char8 v) { - return (uchar8)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtn(char8 v) { - return (uchar8)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rte(char8 v) { - return (float8)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtz(char8 v) { - return (float8)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtp(char8 v) { - return (float8)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtn(char8 v) { - return (float8)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rte(uchar8 v) { - return (long8)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtz(uchar8 v) { - return (long8)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtp(uchar8 v) { - return (long8)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtn(uchar8 v) { - return (long8)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rte(uchar8 v) { - return (ulong8)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtz(uchar8 v) { - return (ulong8)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtp(uchar8 v) { - return (ulong8)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtn(uchar8 v) { - return (ulong8)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rte(uchar8 v) { - return (int8)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtz(uchar8 v) { - return (int8)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtp(uchar8 v) { - return (int8)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtn(uchar8 v) { - return (int8)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rte(uchar8 v) { - return (uint8)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtz(uchar8 v) { - return (uint8)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtp(uchar8 v) { - return (uint8)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtn(uchar8 v) { - return (uint8)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rte(uchar8 v) { - return (short8)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtz(uchar8 v) { - return (short8)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtp(uchar8 v) { - return (short8)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtn(uchar8 v) { - return (short8)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rte(uchar8 v) { - return (ushort8)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtz(uchar8 v) { - return (ushort8)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtp(uchar8 v) { - return (ushort8)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtn(uchar8 v) { - return (ushort8)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rte(uchar8 v) { - return (char8)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtz(uchar8 v) { - return (char8)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtp(uchar8 v) { - return (char8)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtn(uchar8 v) { - return (char8)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rte(uchar8 v) { - return (uchar8)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtz(uchar8 v) { - return (uchar8)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtp(uchar8 v) { - return (uchar8)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtn(uchar8 v) { - return (uchar8)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rte(uchar8 v) { - return (float8)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtz(uchar8 v) { - return (float8)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtp(uchar8 v) { - return (float8)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtn(uchar8 v) { - return (float8)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rte(float8 v) { - return (long8)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtz(float8 v) { - return (long8)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtp(float8 v) { - return (long8)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_rtn(float8 v) { - return (long8)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rte(float8 v) { - return (ulong8)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtz(float8 v) { - return (ulong8)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtp(float8 v) { - return (ulong8)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_rtn(float8 v) { - return (ulong8)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rte(float8 v) { - return (int8)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtz(float8 v) { - return (int8)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtp(float8 v) { - return (int8)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_rtn(float8 v) { - return (int8)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rte(float8 v) { - return (uint8)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtz(float8 v) { - return (uint8)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtp(float8 v) { - return (uint8)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_rtn(float8 v) { - return (uint8)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rte(float8 v) { - return (short8)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtz(float8 v) { - return (short8)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtp(float8 v) { - return (short8)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_rtn(float8 v) { - return (short8)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rte(float8 v) { - return (ushort8)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtz(float8 v) { - return (ushort8)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtp(float8 v) { - return (ushort8)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_rtn(float8 v) { - return (ushort8)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rte(float8 v) { - return (char8)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtz(float8 v) { - return (char8)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtp(float8 v) { - return (char8)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_rtn(float8 v) { - return (char8)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rte(float8 v) { - return (uchar8)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtz(float8 v) { - return (uchar8)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtp(float8 v) { - return (uchar8)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_rtn(float8 v) { - return (uchar8)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rte(float8 v) { - return (float8)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtz(float8 v) { - return (float8)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtp(float8 v) { - return (float8)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7)); -} - -INLINE OVERLOADABLE float8 convert_float8_rtn(float8 v) { - return (float8)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7)); -} - -INLINE OVERLOADABLE long16 convert_long16_rte(long16 v) { - return (long16)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7), convert_long_rte(v.s8), convert_long_rte(v.s9), convert_long_rte(v.sA), convert_long_rte(v.sB), convert_long_rte(v.sC), convert_long_rte(v.sD), convert_long_rte(v.sE), convert_long_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtz(long16 v) { - return (long16)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7), convert_long_rtz(v.s8), convert_long_rtz(v.s9), convert_long_rtz(v.sA), convert_long_rtz(v.sB), convert_long_rtz(v.sC), convert_long_rtz(v.sD), convert_long_rtz(v.sE), convert_long_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtp(long16 v) { - return (long16)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7), convert_long_rtp(v.s8), convert_long_rtp(v.s9), convert_long_rtp(v.sA), convert_long_rtp(v.sB), convert_long_rtp(v.sC), convert_long_rtp(v.sD), convert_long_rtp(v.sE), convert_long_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtn(long16 v) { - return (long16)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7), convert_long_rtn(v.s8), convert_long_rtn(v.s9), convert_long_rtn(v.sA), convert_long_rtn(v.sB), convert_long_rtn(v.sC), convert_long_rtn(v.sD), convert_long_rtn(v.sE), convert_long_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rte(long16 v) { - return (ulong16)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7), convert_ulong_rte(v.s8), convert_ulong_rte(v.s9), convert_ulong_rte(v.sA), convert_ulong_rte(v.sB), convert_ulong_rte(v.sC), convert_ulong_rte(v.sD), convert_ulong_rte(v.sE), convert_ulong_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtz(long16 v) { - return (ulong16)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7), convert_ulong_rtz(v.s8), convert_ulong_rtz(v.s9), convert_ulong_rtz(v.sA), convert_ulong_rtz(v.sB), convert_ulong_rtz(v.sC), convert_ulong_rtz(v.sD), convert_ulong_rtz(v.sE), convert_ulong_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtp(long16 v) { - return (ulong16)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7), convert_ulong_rtp(v.s8), convert_ulong_rtp(v.s9), convert_ulong_rtp(v.sA), convert_ulong_rtp(v.sB), convert_ulong_rtp(v.sC), convert_ulong_rtp(v.sD), convert_ulong_rtp(v.sE), convert_ulong_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtn(long16 v) { - return (ulong16)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7), convert_ulong_rtn(v.s8), convert_ulong_rtn(v.s9), convert_ulong_rtn(v.sA), convert_ulong_rtn(v.sB), convert_ulong_rtn(v.sC), convert_ulong_rtn(v.sD), convert_ulong_rtn(v.sE), convert_ulong_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rte(long16 v) { - return (int16)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7), convert_int_rte(v.s8), convert_int_rte(v.s9), convert_int_rte(v.sA), convert_int_rte(v.sB), convert_int_rte(v.sC), convert_int_rte(v.sD), convert_int_rte(v.sE), convert_int_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtz(long16 v) { - return (int16)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7), convert_int_rtz(v.s8), convert_int_rtz(v.s9), convert_int_rtz(v.sA), convert_int_rtz(v.sB), convert_int_rtz(v.sC), convert_int_rtz(v.sD), convert_int_rtz(v.sE), convert_int_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtp(long16 v) { - return (int16)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7), convert_int_rtp(v.s8), convert_int_rtp(v.s9), convert_int_rtp(v.sA), convert_int_rtp(v.sB), convert_int_rtp(v.sC), convert_int_rtp(v.sD), convert_int_rtp(v.sE), convert_int_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtn(long16 v) { - return (int16)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7), convert_int_rtn(v.s8), convert_int_rtn(v.s9), convert_int_rtn(v.sA), convert_int_rtn(v.sB), convert_int_rtn(v.sC), convert_int_rtn(v.sD), convert_int_rtn(v.sE), convert_int_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rte(long16 v) { - return (uint16)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7), convert_uint_rte(v.s8), convert_uint_rte(v.s9), convert_uint_rte(v.sA), convert_uint_rte(v.sB), convert_uint_rte(v.sC), convert_uint_rte(v.sD), convert_uint_rte(v.sE), convert_uint_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtz(long16 v) { - return (uint16)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7), convert_uint_rtz(v.s8), convert_uint_rtz(v.s9), convert_uint_rtz(v.sA), convert_uint_rtz(v.sB), convert_uint_rtz(v.sC), convert_uint_rtz(v.sD), convert_uint_rtz(v.sE), convert_uint_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtp(long16 v) { - return (uint16)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7), convert_uint_rtp(v.s8), convert_uint_rtp(v.s9), convert_uint_rtp(v.sA), convert_uint_rtp(v.sB), convert_uint_rtp(v.sC), convert_uint_rtp(v.sD), convert_uint_rtp(v.sE), convert_uint_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtn(long16 v) { - return (uint16)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7), convert_uint_rtn(v.s8), convert_uint_rtn(v.s9), convert_uint_rtn(v.sA), convert_uint_rtn(v.sB), convert_uint_rtn(v.sC), convert_uint_rtn(v.sD), convert_uint_rtn(v.sE), convert_uint_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rte(long16 v) { - return (short16)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7), convert_short_rte(v.s8), convert_short_rte(v.s9), convert_short_rte(v.sA), convert_short_rte(v.sB), convert_short_rte(v.sC), convert_short_rte(v.sD), convert_short_rte(v.sE), convert_short_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtz(long16 v) { - return (short16)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7), convert_short_rtz(v.s8), convert_short_rtz(v.s9), convert_short_rtz(v.sA), convert_short_rtz(v.sB), convert_short_rtz(v.sC), convert_short_rtz(v.sD), convert_short_rtz(v.sE), convert_short_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtp(long16 v) { - return (short16)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7), convert_short_rtp(v.s8), convert_short_rtp(v.s9), convert_short_rtp(v.sA), convert_short_rtp(v.sB), convert_short_rtp(v.sC), convert_short_rtp(v.sD), convert_short_rtp(v.sE), convert_short_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtn(long16 v) { - return (short16)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7), convert_short_rtn(v.s8), convert_short_rtn(v.s9), convert_short_rtn(v.sA), convert_short_rtn(v.sB), convert_short_rtn(v.sC), convert_short_rtn(v.sD), convert_short_rtn(v.sE), convert_short_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rte(long16 v) { - return (ushort16)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7), convert_ushort_rte(v.s8), convert_ushort_rte(v.s9), convert_ushort_rte(v.sA), convert_ushort_rte(v.sB), convert_ushort_rte(v.sC), convert_ushort_rte(v.sD), convert_ushort_rte(v.sE), convert_ushort_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtz(long16 v) { - return (ushort16)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7), convert_ushort_rtz(v.s8), convert_ushort_rtz(v.s9), convert_ushort_rtz(v.sA), convert_ushort_rtz(v.sB), convert_ushort_rtz(v.sC), convert_ushort_rtz(v.sD), convert_ushort_rtz(v.sE), convert_ushort_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtp(long16 v) { - return (ushort16)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7), convert_ushort_rtp(v.s8), convert_ushort_rtp(v.s9), convert_ushort_rtp(v.sA), convert_ushort_rtp(v.sB), convert_ushort_rtp(v.sC), convert_ushort_rtp(v.sD), convert_ushort_rtp(v.sE), convert_ushort_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtn(long16 v) { - return (ushort16)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7), convert_ushort_rtn(v.s8), convert_ushort_rtn(v.s9), convert_ushort_rtn(v.sA), convert_ushort_rtn(v.sB), convert_ushort_rtn(v.sC), convert_ushort_rtn(v.sD), convert_ushort_rtn(v.sE), convert_ushort_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rte(long16 v) { - return (char16)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7), convert_char_rte(v.s8), convert_char_rte(v.s9), convert_char_rte(v.sA), convert_char_rte(v.sB), convert_char_rte(v.sC), convert_char_rte(v.sD), convert_char_rte(v.sE), convert_char_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtz(long16 v) { - return (char16)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7), convert_char_rtz(v.s8), convert_char_rtz(v.s9), convert_char_rtz(v.sA), convert_char_rtz(v.sB), convert_char_rtz(v.sC), convert_char_rtz(v.sD), convert_char_rtz(v.sE), convert_char_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtp(long16 v) { - return (char16)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7), convert_char_rtp(v.s8), convert_char_rtp(v.s9), convert_char_rtp(v.sA), convert_char_rtp(v.sB), convert_char_rtp(v.sC), convert_char_rtp(v.sD), convert_char_rtp(v.sE), convert_char_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtn(long16 v) { - return (char16)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7), convert_char_rtn(v.s8), convert_char_rtn(v.s9), convert_char_rtn(v.sA), convert_char_rtn(v.sB), convert_char_rtn(v.sC), convert_char_rtn(v.sD), convert_char_rtn(v.sE), convert_char_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rte(long16 v) { - return (uchar16)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7), convert_uchar_rte(v.s8), convert_uchar_rte(v.s9), convert_uchar_rte(v.sA), convert_uchar_rte(v.sB), convert_uchar_rte(v.sC), convert_uchar_rte(v.sD), convert_uchar_rte(v.sE), convert_uchar_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtz(long16 v) { - return (uchar16)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7), convert_uchar_rtz(v.s8), convert_uchar_rtz(v.s9), convert_uchar_rtz(v.sA), convert_uchar_rtz(v.sB), convert_uchar_rtz(v.sC), convert_uchar_rtz(v.sD), convert_uchar_rtz(v.sE), convert_uchar_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtp(long16 v) { - return (uchar16)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7), convert_uchar_rtp(v.s8), convert_uchar_rtp(v.s9), convert_uchar_rtp(v.sA), convert_uchar_rtp(v.sB), convert_uchar_rtp(v.sC), convert_uchar_rtp(v.sD), convert_uchar_rtp(v.sE), convert_uchar_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtn(long16 v) { - return (uchar16)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7), convert_uchar_rtn(v.s8), convert_uchar_rtn(v.s9), convert_uchar_rtn(v.sA), convert_uchar_rtn(v.sB), convert_uchar_rtn(v.sC), convert_uchar_rtn(v.sD), convert_uchar_rtn(v.sE), convert_uchar_rtn(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rte(long16 v) { - return (float16)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7), convert_float_rte(v.s8), convert_float_rte(v.s9), convert_float_rte(v.sA), convert_float_rte(v.sB), convert_float_rte(v.sC), convert_float_rte(v.sD), convert_float_rte(v.sE), convert_float_rte(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtz(long16 v) { - return (float16)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7), convert_float_rtz(v.s8), convert_float_rtz(v.s9), convert_float_rtz(v.sA), convert_float_rtz(v.sB), convert_float_rtz(v.sC), convert_float_rtz(v.sD), convert_float_rtz(v.sE), convert_float_rtz(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtp(long16 v) { - return (float16)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7), convert_float_rtp(v.s8), convert_float_rtp(v.s9), convert_float_rtp(v.sA), convert_float_rtp(v.sB), convert_float_rtp(v.sC), convert_float_rtp(v.sD), convert_float_rtp(v.sE), convert_float_rtp(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtn(long16 v) { - return (float16)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7), convert_float_rtn(v.s8), convert_float_rtn(v.s9), convert_float_rtn(v.sA), convert_float_rtn(v.sB), convert_float_rtn(v.sC), convert_float_rtn(v.sD), convert_float_rtn(v.sE), convert_float_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rte(ulong16 v) { - return (long16)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7), convert_long_rte(v.s8), convert_long_rte(v.s9), convert_long_rte(v.sA), convert_long_rte(v.sB), convert_long_rte(v.sC), convert_long_rte(v.sD), convert_long_rte(v.sE), convert_long_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtz(ulong16 v) { - return (long16)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7), convert_long_rtz(v.s8), convert_long_rtz(v.s9), convert_long_rtz(v.sA), convert_long_rtz(v.sB), convert_long_rtz(v.sC), convert_long_rtz(v.sD), convert_long_rtz(v.sE), convert_long_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtp(ulong16 v) { - return (long16)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7), convert_long_rtp(v.s8), convert_long_rtp(v.s9), convert_long_rtp(v.sA), convert_long_rtp(v.sB), convert_long_rtp(v.sC), convert_long_rtp(v.sD), convert_long_rtp(v.sE), convert_long_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtn(ulong16 v) { - return (long16)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7), convert_long_rtn(v.s8), convert_long_rtn(v.s9), convert_long_rtn(v.sA), convert_long_rtn(v.sB), convert_long_rtn(v.sC), convert_long_rtn(v.sD), convert_long_rtn(v.sE), convert_long_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rte(ulong16 v) { - return (ulong16)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7), convert_ulong_rte(v.s8), convert_ulong_rte(v.s9), convert_ulong_rte(v.sA), convert_ulong_rte(v.sB), convert_ulong_rte(v.sC), convert_ulong_rte(v.sD), convert_ulong_rte(v.sE), convert_ulong_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtz(ulong16 v) { - return (ulong16)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7), convert_ulong_rtz(v.s8), convert_ulong_rtz(v.s9), convert_ulong_rtz(v.sA), convert_ulong_rtz(v.sB), convert_ulong_rtz(v.sC), convert_ulong_rtz(v.sD), convert_ulong_rtz(v.sE), convert_ulong_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtp(ulong16 v) { - return (ulong16)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7), convert_ulong_rtp(v.s8), convert_ulong_rtp(v.s9), convert_ulong_rtp(v.sA), convert_ulong_rtp(v.sB), convert_ulong_rtp(v.sC), convert_ulong_rtp(v.sD), convert_ulong_rtp(v.sE), convert_ulong_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtn(ulong16 v) { - return (ulong16)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7), convert_ulong_rtn(v.s8), convert_ulong_rtn(v.s9), convert_ulong_rtn(v.sA), convert_ulong_rtn(v.sB), convert_ulong_rtn(v.sC), convert_ulong_rtn(v.sD), convert_ulong_rtn(v.sE), convert_ulong_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rte(ulong16 v) { - return (int16)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7), convert_int_rte(v.s8), convert_int_rte(v.s9), convert_int_rte(v.sA), convert_int_rte(v.sB), convert_int_rte(v.sC), convert_int_rte(v.sD), convert_int_rte(v.sE), convert_int_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtz(ulong16 v) { - return (int16)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7), convert_int_rtz(v.s8), convert_int_rtz(v.s9), convert_int_rtz(v.sA), convert_int_rtz(v.sB), convert_int_rtz(v.sC), convert_int_rtz(v.sD), convert_int_rtz(v.sE), convert_int_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtp(ulong16 v) { - return (int16)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7), convert_int_rtp(v.s8), convert_int_rtp(v.s9), convert_int_rtp(v.sA), convert_int_rtp(v.sB), convert_int_rtp(v.sC), convert_int_rtp(v.sD), convert_int_rtp(v.sE), convert_int_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtn(ulong16 v) { - return (int16)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7), convert_int_rtn(v.s8), convert_int_rtn(v.s9), convert_int_rtn(v.sA), convert_int_rtn(v.sB), convert_int_rtn(v.sC), convert_int_rtn(v.sD), convert_int_rtn(v.sE), convert_int_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rte(ulong16 v) { - return (uint16)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7), convert_uint_rte(v.s8), convert_uint_rte(v.s9), convert_uint_rte(v.sA), convert_uint_rte(v.sB), convert_uint_rte(v.sC), convert_uint_rte(v.sD), convert_uint_rte(v.sE), convert_uint_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtz(ulong16 v) { - return (uint16)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7), convert_uint_rtz(v.s8), convert_uint_rtz(v.s9), convert_uint_rtz(v.sA), convert_uint_rtz(v.sB), convert_uint_rtz(v.sC), convert_uint_rtz(v.sD), convert_uint_rtz(v.sE), convert_uint_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtp(ulong16 v) { - return (uint16)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7), convert_uint_rtp(v.s8), convert_uint_rtp(v.s9), convert_uint_rtp(v.sA), convert_uint_rtp(v.sB), convert_uint_rtp(v.sC), convert_uint_rtp(v.sD), convert_uint_rtp(v.sE), convert_uint_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtn(ulong16 v) { - return (uint16)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7), convert_uint_rtn(v.s8), convert_uint_rtn(v.s9), convert_uint_rtn(v.sA), convert_uint_rtn(v.sB), convert_uint_rtn(v.sC), convert_uint_rtn(v.sD), convert_uint_rtn(v.sE), convert_uint_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rte(ulong16 v) { - return (short16)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7), convert_short_rte(v.s8), convert_short_rte(v.s9), convert_short_rte(v.sA), convert_short_rte(v.sB), convert_short_rte(v.sC), convert_short_rte(v.sD), convert_short_rte(v.sE), convert_short_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtz(ulong16 v) { - return (short16)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7), convert_short_rtz(v.s8), convert_short_rtz(v.s9), convert_short_rtz(v.sA), convert_short_rtz(v.sB), convert_short_rtz(v.sC), convert_short_rtz(v.sD), convert_short_rtz(v.sE), convert_short_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtp(ulong16 v) { - return (short16)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7), convert_short_rtp(v.s8), convert_short_rtp(v.s9), convert_short_rtp(v.sA), convert_short_rtp(v.sB), convert_short_rtp(v.sC), convert_short_rtp(v.sD), convert_short_rtp(v.sE), convert_short_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtn(ulong16 v) { - return (short16)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7), convert_short_rtn(v.s8), convert_short_rtn(v.s9), convert_short_rtn(v.sA), convert_short_rtn(v.sB), convert_short_rtn(v.sC), convert_short_rtn(v.sD), convert_short_rtn(v.sE), convert_short_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rte(ulong16 v) { - return (ushort16)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7), convert_ushort_rte(v.s8), convert_ushort_rte(v.s9), convert_ushort_rte(v.sA), convert_ushort_rte(v.sB), convert_ushort_rte(v.sC), convert_ushort_rte(v.sD), convert_ushort_rte(v.sE), convert_ushort_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtz(ulong16 v) { - return (ushort16)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7), convert_ushort_rtz(v.s8), convert_ushort_rtz(v.s9), convert_ushort_rtz(v.sA), convert_ushort_rtz(v.sB), convert_ushort_rtz(v.sC), convert_ushort_rtz(v.sD), convert_ushort_rtz(v.sE), convert_ushort_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtp(ulong16 v) { - return (ushort16)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7), convert_ushort_rtp(v.s8), convert_ushort_rtp(v.s9), convert_ushort_rtp(v.sA), convert_ushort_rtp(v.sB), convert_ushort_rtp(v.sC), convert_ushort_rtp(v.sD), convert_ushort_rtp(v.sE), convert_ushort_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtn(ulong16 v) { - return (ushort16)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7), convert_ushort_rtn(v.s8), convert_ushort_rtn(v.s9), convert_ushort_rtn(v.sA), convert_ushort_rtn(v.sB), convert_ushort_rtn(v.sC), convert_ushort_rtn(v.sD), convert_ushort_rtn(v.sE), convert_ushort_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rte(ulong16 v) { - return (char16)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7), convert_char_rte(v.s8), convert_char_rte(v.s9), convert_char_rte(v.sA), convert_char_rte(v.sB), convert_char_rte(v.sC), convert_char_rte(v.sD), convert_char_rte(v.sE), convert_char_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtz(ulong16 v) { - return (char16)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7), convert_char_rtz(v.s8), convert_char_rtz(v.s9), convert_char_rtz(v.sA), convert_char_rtz(v.sB), convert_char_rtz(v.sC), convert_char_rtz(v.sD), convert_char_rtz(v.sE), convert_char_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtp(ulong16 v) { - return (char16)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7), convert_char_rtp(v.s8), convert_char_rtp(v.s9), convert_char_rtp(v.sA), convert_char_rtp(v.sB), convert_char_rtp(v.sC), convert_char_rtp(v.sD), convert_char_rtp(v.sE), convert_char_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtn(ulong16 v) { - return (char16)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7), convert_char_rtn(v.s8), convert_char_rtn(v.s9), convert_char_rtn(v.sA), convert_char_rtn(v.sB), convert_char_rtn(v.sC), convert_char_rtn(v.sD), convert_char_rtn(v.sE), convert_char_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rte(ulong16 v) { - return (uchar16)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7), convert_uchar_rte(v.s8), convert_uchar_rte(v.s9), convert_uchar_rte(v.sA), convert_uchar_rte(v.sB), convert_uchar_rte(v.sC), convert_uchar_rte(v.sD), convert_uchar_rte(v.sE), convert_uchar_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtz(ulong16 v) { - return (uchar16)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7), convert_uchar_rtz(v.s8), convert_uchar_rtz(v.s9), convert_uchar_rtz(v.sA), convert_uchar_rtz(v.sB), convert_uchar_rtz(v.sC), convert_uchar_rtz(v.sD), convert_uchar_rtz(v.sE), convert_uchar_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtp(ulong16 v) { - return (uchar16)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7), convert_uchar_rtp(v.s8), convert_uchar_rtp(v.s9), convert_uchar_rtp(v.sA), convert_uchar_rtp(v.sB), convert_uchar_rtp(v.sC), convert_uchar_rtp(v.sD), convert_uchar_rtp(v.sE), convert_uchar_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtn(ulong16 v) { - return (uchar16)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7), convert_uchar_rtn(v.s8), convert_uchar_rtn(v.s9), convert_uchar_rtn(v.sA), convert_uchar_rtn(v.sB), convert_uchar_rtn(v.sC), convert_uchar_rtn(v.sD), convert_uchar_rtn(v.sE), convert_uchar_rtn(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rte(ulong16 v) { - return (float16)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7), convert_float_rte(v.s8), convert_float_rte(v.s9), convert_float_rte(v.sA), convert_float_rte(v.sB), convert_float_rte(v.sC), convert_float_rte(v.sD), convert_float_rte(v.sE), convert_float_rte(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtz(ulong16 v) { - return (float16)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7), convert_float_rtz(v.s8), convert_float_rtz(v.s9), convert_float_rtz(v.sA), convert_float_rtz(v.sB), convert_float_rtz(v.sC), convert_float_rtz(v.sD), convert_float_rtz(v.sE), convert_float_rtz(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtp(ulong16 v) { - return (float16)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7), convert_float_rtp(v.s8), convert_float_rtp(v.s9), convert_float_rtp(v.sA), convert_float_rtp(v.sB), convert_float_rtp(v.sC), convert_float_rtp(v.sD), convert_float_rtp(v.sE), convert_float_rtp(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtn(ulong16 v) { - return (float16)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7), convert_float_rtn(v.s8), convert_float_rtn(v.s9), convert_float_rtn(v.sA), convert_float_rtn(v.sB), convert_float_rtn(v.sC), convert_float_rtn(v.sD), convert_float_rtn(v.sE), convert_float_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rte(int16 v) { - return (long16)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7), convert_long_rte(v.s8), convert_long_rte(v.s9), convert_long_rte(v.sA), convert_long_rte(v.sB), convert_long_rte(v.sC), convert_long_rte(v.sD), convert_long_rte(v.sE), convert_long_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtz(int16 v) { - return (long16)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7), convert_long_rtz(v.s8), convert_long_rtz(v.s9), convert_long_rtz(v.sA), convert_long_rtz(v.sB), convert_long_rtz(v.sC), convert_long_rtz(v.sD), convert_long_rtz(v.sE), convert_long_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtp(int16 v) { - return (long16)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7), convert_long_rtp(v.s8), convert_long_rtp(v.s9), convert_long_rtp(v.sA), convert_long_rtp(v.sB), convert_long_rtp(v.sC), convert_long_rtp(v.sD), convert_long_rtp(v.sE), convert_long_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtn(int16 v) { - return (long16)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7), convert_long_rtn(v.s8), convert_long_rtn(v.s9), convert_long_rtn(v.sA), convert_long_rtn(v.sB), convert_long_rtn(v.sC), convert_long_rtn(v.sD), convert_long_rtn(v.sE), convert_long_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rte(int16 v) { - return (ulong16)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7), convert_ulong_rte(v.s8), convert_ulong_rte(v.s9), convert_ulong_rte(v.sA), convert_ulong_rte(v.sB), convert_ulong_rte(v.sC), convert_ulong_rte(v.sD), convert_ulong_rte(v.sE), convert_ulong_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtz(int16 v) { - return (ulong16)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7), convert_ulong_rtz(v.s8), convert_ulong_rtz(v.s9), convert_ulong_rtz(v.sA), convert_ulong_rtz(v.sB), convert_ulong_rtz(v.sC), convert_ulong_rtz(v.sD), convert_ulong_rtz(v.sE), convert_ulong_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtp(int16 v) { - return (ulong16)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7), convert_ulong_rtp(v.s8), convert_ulong_rtp(v.s9), convert_ulong_rtp(v.sA), convert_ulong_rtp(v.sB), convert_ulong_rtp(v.sC), convert_ulong_rtp(v.sD), convert_ulong_rtp(v.sE), convert_ulong_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtn(int16 v) { - return (ulong16)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7), convert_ulong_rtn(v.s8), convert_ulong_rtn(v.s9), convert_ulong_rtn(v.sA), convert_ulong_rtn(v.sB), convert_ulong_rtn(v.sC), convert_ulong_rtn(v.sD), convert_ulong_rtn(v.sE), convert_ulong_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rte(int16 v) { - return (int16)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7), convert_int_rte(v.s8), convert_int_rte(v.s9), convert_int_rte(v.sA), convert_int_rte(v.sB), convert_int_rte(v.sC), convert_int_rte(v.sD), convert_int_rte(v.sE), convert_int_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtz(int16 v) { - return (int16)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7), convert_int_rtz(v.s8), convert_int_rtz(v.s9), convert_int_rtz(v.sA), convert_int_rtz(v.sB), convert_int_rtz(v.sC), convert_int_rtz(v.sD), convert_int_rtz(v.sE), convert_int_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtp(int16 v) { - return (int16)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7), convert_int_rtp(v.s8), convert_int_rtp(v.s9), convert_int_rtp(v.sA), convert_int_rtp(v.sB), convert_int_rtp(v.sC), convert_int_rtp(v.sD), convert_int_rtp(v.sE), convert_int_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtn(int16 v) { - return (int16)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7), convert_int_rtn(v.s8), convert_int_rtn(v.s9), convert_int_rtn(v.sA), convert_int_rtn(v.sB), convert_int_rtn(v.sC), convert_int_rtn(v.sD), convert_int_rtn(v.sE), convert_int_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rte(int16 v) { - return (uint16)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7), convert_uint_rte(v.s8), convert_uint_rte(v.s9), convert_uint_rte(v.sA), convert_uint_rte(v.sB), convert_uint_rte(v.sC), convert_uint_rte(v.sD), convert_uint_rte(v.sE), convert_uint_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtz(int16 v) { - return (uint16)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7), convert_uint_rtz(v.s8), convert_uint_rtz(v.s9), convert_uint_rtz(v.sA), convert_uint_rtz(v.sB), convert_uint_rtz(v.sC), convert_uint_rtz(v.sD), convert_uint_rtz(v.sE), convert_uint_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtp(int16 v) { - return (uint16)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7), convert_uint_rtp(v.s8), convert_uint_rtp(v.s9), convert_uint_rtp(v.sA), convert_uint_rtp(v.sB), convert_uint_rtp(v.sC), convert_uint_rtp(v.sD), convert_uint_rtp(v.sE), convert_uint_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtn(int16 v) { - return (uint16)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7), convert_uint_rtn(v.s8), convert_uint_rtn(v.s9), convert_uint_rtn(v.sA), convert_uint_rtn(v.sB), convert_uint_rtn(v.sC), convert_uint_rtn(v.sD), convert_uint_rtn(v.sE), convert_uint_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rte(int16 v) { - return (short16)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7), convert_short_rte(v.s8), convert_short_rte(v.s9), convert_short_rte(v.sA), convert_short_rte(v.sB), convert_short_rte(v.sC), convert_short_rte(v.sD), convert_short_rte(v.sE), convert_short_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtz(int16 v) { - return (short16)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7), convert_short_rtz(v.s8), convert_short_rtz(v.s9), convert_short_rtz(v.sA), convert_short_rtz(v.sB), convert_short_rtz(v.sC), convert_short_rtz(v.sD), convert_short_rtz(v.sE), convert_short_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtp(int16 v) { - return (short16)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7), convert_short_rtp(v.s8), convert_short_rtp(v.s9), convert_short_rtp(v.sA), convert_short_rtp(v.sB), convert_short_rtp(v.sC), convert_short_rtp(v.sD), convert_short_rtp(v.sE), convert_short_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtn(int16 v) { - return (short16)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7), convert_short_rtn(v.s8), convert_short_rtn(v.s9), convert_short_rtn(v.sA), convert_short_rtn(v.sB), convert_short_rtn(v.sC), convert_short_rtn(v.sD), convert_short_rtn(v.sE), convert_short_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rte(int16 v) { - return (ushort16)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7), convert_ushort_rte(v.s8), convert_ushort_rte(v.s9), convert_ushort_rte(v.sA), convert_ushort_rte(v.sB), convert_ushort_rte(v.sC), convert_ushort_rte(v.sD), convert_ushort_rte(v.sE), convert_ushort_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtz(int16 v) { - return (ushort16)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7), convert_ushort_rtz(v.s8), convert_ushort_rtz(v.s9), convert_ushort_rtz(v.sA), convert_ushort_rtz(v.sB), convert_ushort_rtz(v.sC), convert_ushort_rtz(v.sD), convert_ushort_rtz(v.sE), convert_ushort_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtp(int16 v) { - return (ushort16)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7), convert_ushort_rtp(v.s8), convert_ushort_rtp(v.s9), convert_ushort_rtp(v.sA), convert_ushort_rtp(v.sB), convert_ushort_rtp(v.sC), convert_ushort_rtp(v.sD), convert_ushort_rtp(v.sE), convert_ushort_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtn(int16 v) { - return (ushort16)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7), convert_ushort_rtn(v.s8), convert_ushort_rtn(v.s9), convert_ushort_rtn(v.sA), convert_ushort_rtn(v.sB), convert_ushort_rtn(v.sC), convert_ushort_rtn(v.sD), convert_ushort_rtn(v.sE), convert_ushort_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rte(int16 v) { - return (char16)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7), convert_char_rte(v.s8), convert_char_rte(v.s9), convert_char_rte(v.sA), convert_char_rte(v.sB), convert_char_rte(v.sC), convert_char_rte(v.sD), convert_char_rte(v.sE), convert_char_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtz(int16 v) { - return (char16)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7), convert_char_rtz(v.s8), convert_char_rtz(v.s9), convert_char_rtz(v.sA), convert_char_rtz(v.sB), convert_char_rtz(v.sC), convert_char_rtz(v.sD), convert_char_rtz(v.sE), convert_char_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtp(int16 v) { - return (char16)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7), convert_char_rtp(v.s8), convert_char_rtp(v.s9), convert_char_rtp(v.sA), convert_char_rtp(v.sB), convert_char_rtp(v.sC), convert_char_rtp(v.sD), convert_char_rtp(v.sE), convert_char_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtn(int16 v) { - return (char16)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7), convert_char_rtn(v.s8), convert_char_rtn(v.s9), convert_char_rtn(v.sA), convert_char_rtn(v.sB), convert_char_rtn(v.sC), convert_char_rtn(v.sD), convert_char_rtn(v.sE), convert_char_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rte(int16 v) { - return (uchar16)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7), convert_uchar_rte(v.s8), convert_uchar_rte(v.s9), convert_uchar_rte(v.sA), convert_uchar_rte(v.sB), convert_uchar_rte(v.sC), convert_uchar_rte(v.sD), convert_uchar_rte(v.sE), convert_uchar_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtz(int16 v) { - return (uchar16)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7), convert_uchar_rtz(v.s8), convert_uchar_rtz(v.s9), convert_uchar_rtz(v.sA), convert_uchar_rtz(v.sB), convert_uchar_rtz(v.sC), convert_uchar_rtz(v.sD), convert_uchar_rtz(v.sE), convert_uchar_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtp(int16 v) { - return (uchar16)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7), convert_uchar_rtp(v.s8), convert_uchar_rtp(v.s9), convert_uchar_rtp(v.sA), convert_uchar_rtp(v.sB), convert_uchar_rtp(v.sC), convert_uchar_rtp(v.sD), convert_uchar_rtp(v.sE), convert_uchar_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtn(int16 v) { - return (uchar16)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7), convert_uchar_rtn(v.s8), convert_uchar_rtn(v.s9), convert_uchar_rtn(v.sA), convert_uchar_rtn(v.sB), convert_uchar_rtn(v.sC), convert_uchar_rtn(v.sD), convert_uchar_rtn(v.sE), convert_uchar_rtn(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rte(int16 v) { - return (float16)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7), convert_float_rte(v.s8), convert_float_rte(v.s9), convert_float_rte(v.sA), convert_float_rte(v.sB), convert_float_rte(v.sC), convert_float_rte(v.sD), convert_float_rte(v.sE), convert_float_rte(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtz(int16 v) { - return (float16)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7), convert_float_rtz(v.s8), convert_float_rtz(v.s9), convert_float_rtz(v.sA), convert_float_rtz(v.sB), convert_float_rtz(v.sC), convert_float_rtz(v.sD), convert_float_rtz(v.sE), convert_float_rtz(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtp(int16 v) { - return (float16)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7), convert_float_rtp(v.s8), convert_float_rtp(v.s9), convert_float_rtp(v.sA), convert_float_rtp(v.sB), convert_float_rtp(v.sC), convert_float_rtp(v.sD), convert_float_rtp(v.sE), convert_float_rtp(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtn(int16 v) { - return (float16)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7), convert_float_rtn(v.s8), convert_float_rtn(v.s9), convert_float_rtn(v.sA), convert_float_rtn(v.sB), convert_float_rtn(v.sC), convert_float_rtn(v.sD), convert_float_rtn(v.sE), convert_float_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rte(uint16 v) { - return (long16)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7), convert_long_rte(v.s8), convert_long_rte(v.s9), convert_long_rte(v.sA), convert_long_rte(v.sB), convert_long_rte(v.sC), convert_long_rte(v.sD), convert_long_rte(v.sE), convert_long_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtz(uint16 v) { - return (long16)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7), convert_long_rtz(v.s8), convert_long_rtz(v.s9), convert_long_rtz(v.sA), convert_long_rtz(v.sB), convert_long_rtz(v.sC), convert_long_rtz(v.sD), convert_long_rtz(v.sE), convert_long_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtp(uint16 v) { - return (long16)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7), convert_long_rtp(v.s8), convert_long_rtp(v.s9), convert_long_rtp(v.sA), convert_long_rtp(v.sB), convert_long_rtp(v.sC), convert_long_rtp(v.sD), convert_long_rtp(v.sE), convert_long_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtn(uint16 v) { - return (long16)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7), convert_long_rtn(v.s8), convert_long_rtn(v.s9), convert_long_rtn(v.sA), convert_long_rtn(v.sB), convert_long_rtn(v.sC), convert_long_rtn(v.sD), convert_long_rtn(v.sE), convert_long_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rte(uint16 v) { - return (ulong16)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7), convert_ulong_rte(v.s8), convert_ulong_rte(v.s9), convert_ulong_rte(v.sA), convert_ulong_rte(v.sB), convert_ulong_rte(v.sC), convert_ulong_rte(v.sD), convert_ulong_rte(v.sE), convert_ulong_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtz(uint16 v) { - return (ulong16)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7), convert_ulong_rtz(v.s8), convert_ulong_rtz(v.s9), convert_ulong_rtz(v.sA), convert_ulong_rtz(v.sB), convert_ulong_rtz(v.sC), convert_ulong_rtz(v.sD), convert_ulong_rtz(v.sE), convert_ulong_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtp(uint16 v) { - return (ulong16)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7), convert_ulong_rtp(v.s8), convert_ulong_rtp(v.s9), convert_ulong_rtp(v.sA), convert_ulong_rtp(v.sB), convert_ulong_rtp(v.sC), convert_ulong_rtp(v.sD), convert_ulong_rtp(v.sE), convert_ulong_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtn(uint16 v) { - return (ulong16)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7), convert_ulong_rtn(v.s8), convert_ulong_rtn(v.s9), convert_ulong_rtn(v.sA), convert_ulong_rtn(v.sB), convert_ulong_rtn(v.sC), convert_ulong_rtn(v.sD), convert_ulong_rtn(v.sE), convert_ulong_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rte(uint16 v) { - return (int16)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7), convert_int_rte(v.s8), convert_int_rte(v.s9), convert_int_rte(v.sA), convert_int_rte(v.sB), convert_int_rte(v.sC), convert_int_rte(v.sD), convert_int_rte(v.sE), convert_int_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtz(uint16 v) { - return (int16)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7), convert_int_rtz(v.s8), convert_int_rtz(v.s9), convert_int_rtz(v.sA), convert_int_rtz(v.sB), convert_int_rtz(v.sC), convert_int_rtz(v.sD), convert_int_rtz(v.sE), convert_int_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtp(uint16 v) { - return (int16)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7), convert_int_rtp(v.s8), convert_int_rtp(v.s9), convert_int_rtp(v.sA), convert_int_rtp(v.sB), convert_int_rtp(v.sC), convert_int_rtp(v.sD), convert_int_rtp(v.sE), convert_int_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtn(uint16 v) { - return (int16)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7), convert_int_rtn(v.s8), convert_int_rtn(v.s9), convert_int_rtn(v.sA), convert_int_rtn(v.sB), convert_int_rtn(v.sC), convert_int_rtn(v.sD), convert_int_rtn(v.sE), convert_int_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rte(uint16 v) { - return (uint16)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7), convert_uint_rte(v.s8), convert_uint_rte(v.s9), convert_uint_rte(v.sA), convert_uint_rte(v.sB), convert_uint_rte(v.sC), convert_uint_rte(v.sD), convert_uint_rte(v.sE), convert_uint_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtz(uint16 v) { - return (uint16)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7), convert_uint_rtz(v.s8), convert_uint_rtz(v.s9), convert_uint_rtz(v.sA), convert_uint_rtz(v.sB), convert_uint_rtz(v.sC), convert_uint_rtz(v.sD), convert_uint_rtz(v.sE), convert_uint_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtp(uint16 v) { - return (uint16)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7), convert_uint_rtp(v.s8), convert_uint_rtp(v.s9), convert_uint_rtp(v.sA), convert_uint_rtp(v.sB), convert_uint_rtp(v.sC), convert_uint_rtp(v.sD), convert_uint_rtp(v.sE), convert_uint_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtn(uint16 v) { - return (uint16)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7), convert_uint_rtn(v.s8), convert_uint_rtn(v.s9), convert_uint_rtn(v.sA), convert_uint_rtn(v.sB), convert_uint_rtn(v.sC), convert_uint_rtn(v.sD), convert_uint_rtn(v.sE), convert_uint_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rte(uint16 v) { - return (short16)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7), convert_short_rte(v.s8), convert_short_rte(v.s9), convert_short_rte(v.sA), convert_short_rte(v.sB), convert_short_rte(v.sC), convert_short_rte(v.sD), convert_short_rte(v.sE), convert_short_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtz(uint16 v) { - return (short16)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7), convert_short_rtz(v.s8), convert_short_rtz(v.s9), convert_short_rtz(v.sA), convert_short_rtz(v.sB), convert_short_rtz(v.sC), convert_short_rtz(v.sD), convert_short_rtz(v.sE), convert_short_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtp(uint16 v) { - return (short16)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7), convert_short_rtp(v.s8), convert_short_rtp(v.s9), convert_short_rtp(v.sA), convert_short_rtp(v.sB), convert_short_rtp(v.sC), convert_short_rtp(v.sD), convert_short_rtp(v.sE), convert_short_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtn(uint16 v) { - return (short16)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7), convert_short_rtn(v.s8), convert_short_rtn(v.s9), convert_short_rtn(v.sA), convert_short_rtn(v.sB), convert_short_rtn(v.sC), convert_short_rtn(v.sD), convert_short_rtn(v.sE), convert_short_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rte(uint16 v) { - return (ushort16)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7), convert_ushort_rte(v.s8), convert_ushort_rte(v.s9), convert_ushort_rte(v.sA), convert_ushort_rte(v.sB), convert_ushort_rte(v.sC), convert_ushort_rte(v.sD), convert_ushort_rte(v.sE), convert_ushort_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtz(uint16 v) { - return (ushort16)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7), convert_ushort_rtz(v.s8), convert_ushort_rtz(v.s9), convert_ushort_rtz(v.sA), convert_ushort_rtz(v.sB), convert_ushort_rtz(v.sC), convert_ushort_rtz(v.sD), convert_ushort_rtz(v.sE), convert_ushort_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtp(uint16 v) { - return (ushort16)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7), convert_ushort_rtp(v.s8), convert_ushort_rtp(v.s9), convert_ushort_rtp(v.sA), convert_ushort_rtp(v.sB), convert_ushort_rtp(v.sC), convert_ushort_rtp(v.sD), convert_ushort_rtp(v.sE), convert_ushort_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtn(uint16 v) { - return (ushort16)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7), convert_ushort_rtn(v.s8), convert_ushort_rtn(v.s9), convert_ushort_rtn(v.sA), convert_ushort_rtn(v.sB), convert_ushort_rtn(v.sC), convert_ushort_rtn(v.sD), convert_ushort_rtn(v.sE), convert_ushort_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rte(uint16 v) { - return (char16)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7), convert_char_rte(v.s8), convert_char_rte(v.s9), convert_char_rte(v.sA), convert_char_rte(v.sB), convert_char_rte(v.sC), convert_char_rte(v.sD), convert_char_rte(v.sE), convert_char_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtz(uint16 v) { - return (char16)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7), convert_char_rtz(v.s8), convert_char_rtz(v.s9), convert_char_rtz(v.sA), convert_char_rtz(v.sB), convert_char_rtz(v.sC), convert_char_rtz(v.sD), convert_char_rtz(v.sE), convert_char_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtp(uint16 v) { - return (char16)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7), convert_char_rtp(v.s8), convert_char_rtp(v.s9), convert_char_rtp(v.sA), convert_char_rtp(v.sB), convert_char_rtp(v.sC), convert_char_rtp(v.sD), convert_char_rtp(v.sE), convert_char_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtn(uint16 v) { - return (char16)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7), convert_char_rtn(v.s8), convert_char_rtn(v.s9), convert_char_rtn(v.sA), convert_char_rtn(v.sB), convert_char_rtn(v.sC), convert_char_rtn(v.sD), convert_char_rtn(v.sE), convert_char_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rte(uint16 v) { - return (uchar16)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7), convert_uchar_rte(v.s8), convert_uchar_rte(v.s9), convert_uchar_rte(v.sA), convert_uchar_rte(v.sB), convert_uchar_rte(v.sC), convert_uchar_rte(v.sD), convert_uchar_rte(v.sE), convert_uchar_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtz(uint16 v) { - return (uchar16)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7), convert_uchar_rtz(v.s8), convert_uchar_rtz(v.s9), convert_uchar_rtz(v.sA), convert_uchar_rtz(v.sB), convert_uchar_rtz(v.sC), convert_uchar_rtz(v.sD), convert_uchar_rtz(v.sE), convert_uchar_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtp(uint16 v) { - return (uchar16)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7), convert_uchar_rtp(v.s8), convert_uchar_rtp(v.s9), convert_uchar_rtp(v.sA), convert_uchar_rtp(v.sB), convert_uchar_rtp(v.sC), convert_uchar_rtp(v.sD), convert_uchar_rtp(v.sE), convert_uchar_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtn(uint16 v) { - return (uchar16)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7), convert_uchar_rtn(v.s8), convert_uchar_rtn(v.s9), convert_uchar_rtn(v.sA), convert_uchar_rtn(v.sB), convert_uchar_rtn(v.sC), convert_uchar_rtn(v.sD), convert_uchar_rtn(v.sE), convert_uchar_rtn(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rte(uint16 v) { - return (float16)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7), convert_float_rte(v.s8), convert_float_rte(v.s9), convert_float_rte(v.sA), convert_float_rte(v.sB), convert_float_rte(v.sC), convert_float_rte(v.sD), convert_float_rte(v.sE), convert_float_rte(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtz(uint16 v) { - return (float16)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7), convert_float_rtz(v.s8), convert_float_rtz(v.s9), convert_float_rtz(v.sA), convert_float_rtz(v.sB), convert_float_rtz(v.sC), convert_float_rtz(v.sD), convert_float_rtz(v.sE), convert_float_rtz(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtp(uint16 v) { - return (float16)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7), convert_float_rtp(v.s8), convert_float_rtp(v.s9), convert_float_rtp(v.sA), convert_float_rtp(v.sB), convert_float_rtp(v.sC), convert_float_rtp(v.sD), convert_float_rtp(v.sE), convert_float_rtp(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtn(uint16 v) { - return (float16)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7), convert_float_rtn(v.s8), convert_float_rtn(v.s9), convert_float_rtn(v.sA), convert_float_rtn(v.sB), convert_float_rtn(v.sC), convert_float_rtn(v.sD), convert_float_rtn(v.sE), convert_float_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rte(short16 v) { - return (long16)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7), convert_long_rte(v.s8), convert_long_rte(v.s9), convert_long_rte(v.sA), convert_long_rte(v.sB), convert_long_rte(v.sC), convert_long_rte(v.sD), convert_long_rte(v.sE), convert_long_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtz(short16 v) { - return (long16)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7), convert_long_rtz(v.s8), convert_long_rtz(v.s9), convert_long_rtz(v.sA), convert_long_rtz(v.sB), convert_long_rtz(v.sC), convert_long_rtz(v.sD), convert_long_rtz(v.sE), convert_long_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtp(short16 v) { - return (long16)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7), convert_long_rtp(v.s8), convert_long_rtp(v.s9), convert_long_rtp(v.sA), convert_long_rtp(v.sB), convert_long_rtp(v.sC), convert_long_rtp(v.sD), convert_long_rtp(v.sE), convert_long_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtn(short16 v) { - return (long16)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7), convert_long_rtn(v.s8), convert_long_rtn(v.s9), convert_long_rtn(v.sA), convert_long_rtn(v.sB), convert_long_rtn(v.sC), convert_long_rtn(v.sD), convert_long_rtn(v.sE), convert_long_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rte(short16 v) { - return (ulong16)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7), convert_ulong_rte(v.s8), convert_ulong_rte(v.s9), convert_ulong_rte(v.sA), convert_ulong_rte(v.sB), convert_ulong_rte(v.sC), convert_ulong_rte(v.sD), convert_ulong_rte(v.sE), convert_ulong_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtz(short16 v) { - return (ulong16)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7), convert_ulong_rtz(v.s8), convert_ulong_rtz(v.s9), convert_ulong_rtz(v.sA), convert_ulong_rtz(v.sB), convert_ulong_rtz(v.sC), convert_ulong_rtz(v.sD), convert_ulong_rtz(v.sE), convert_ulong_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtp(short16 v) { - return (ulong16)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7), convert_ulong_rtp(v.s8), convert_ulong_rtp(v.s9), convert_ulong_rtp(v.sA), convert_ulong_rtp(v.sB), convert_ulong_rtp(v.sC), convert_ulong_rtp(v.sD), convert_ulong_rtp(v.sE), convert_ulong_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtn(short16 v) { - return (ulong16)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7), convert_ulong_rtn(v.s8), convert_ulong_rtn(v.s9), convert_ulong_rtn(v.sA), convert_ulong_rtn(v.sB), convert_ulong_rtn(v.sC), convert_ulong_rtn(v.sD), convert_ulong_rtn(v.sE), convert_ulong_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rte(short16 v) { - return (int16)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7), convert_int_rte(v.s8), convert_int_rte(v.s9), convert_int_rte(v.sA), convert_int_rte(v.sB), convert_int_rte(v.sC), convert_int_rte(v.sD), convert_int_rte(v.sE), convert_int_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtz(short16 v) { - return (int16)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7), convert_int_rtz(v.s8), convert_int_rtz(v.s9), convert_int_rtz(v.sA), convert_int_rtz(v.sB), convert_int_rtz(v.sC), convert_int_rtz(v.sD), convert_int_rtz(v.sE), convert_int_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtp(short16 v) { - return (int16)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7), convert_int_rtp(v.s8), convert_int_rtp(v.s9), convert_int_rtp(v.sA), convert_int_rtp(v.sB), convert_int_rtp(v.sC), convert_int_rtp(v.sD), convert_int_rtp(v.sE), convert_int_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtn(short16 v) { - return (int16)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7), convert_int_rtn(v.s8), convert_int_rtn(v.s9), convert_int_rtn(v.sA), convert_int_rtn(v.sB), convert_int_rtn(v.sC), convert_int_rtn(v.sD), convert_int_rtn(v.sE), convert_int_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rte(short16 v) { - return (uint16)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7), convert_uint_rte(v.s8), convert_uint_rte(v.s9), convert_uint_rte(v.sA), convert_uint_rte(v.sB), convert_uint_rte(v.sC), convert_uint_rte(v.sD), convert_uint_rte(v.sE), convert_uint_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtz(short16 v) { - return (uint16)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7), convert_uint_rtz(v.s8), convert_uint_rtz(v.s9), convert_uint_rtz(v.sA), convert_uint_rtz(v.sB), convert_uint_rtz(v.sC), convert_uint_rtz(v.sD), convert_uint_rtz(v.sE), convert_uint_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtp(short16 v) { - return (uint16)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7), convert_uint_rtp(v.s8), convert_uint_rtp(v.s9), convert_uint_rtp(v.sA), convert_uint_rtp(v.sB), convert_uint_rtp(v.sC), convert_uint_rtp(v.sD), convert_uint_rtp(v.sE), convert_uint_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtn(short16 v) { - return (uint16)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7), convert_uint_rtn(v.s8), convert_uint_rtn(v.s9), convert_uint_rtn(v.sA), convert_uint_rtn(v.sB), convert_uint_rtn(v.sC), convert_uint_rtn(v.sD), convert_uint_rtn(v.sE), convert_uint_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rte(short16 v) { - return (short16)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7), convert_short_rte(v.s8), convert_short_rte(v.s9), convert_short_rte(v.sA), convert_short_rte(v.sB), convert_short_rte(v.sC), convert_short_rte(v.sD), convert_short_rte(v.sE), convert_short_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtz(short16 v) { - return (short16)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7), convert_short_rtz(v.s8), convert_short_rtz(v.s9), convert_short_rtz(v.sA), convert_short_rtz(v.sB), convert_short_rtz(v.sC), convert_short_rtz(v.sD), convert_short_rtz(v.sE), convert_short_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtp(short16 v) { - return (short16)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7), convert_short_rtp(v.s8), convert_short_rtp(v.s9), convert_short_rtp(v.sA), convert_short_rtp(v.sB), convert_short_rtp(v.sC), convert_short_rtp(v.sD), convert_short_rtp(v.sE), convert_short_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtn(short16 v) { - return (short16)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7), convert_short_rtn(v.s8), convert_short_rtn(v.s9), convert_short_rtn(v.sA), convert_short_rtn(v.sB), convert_short_rtn(v.sC), convert_short_rtn(v.sD), convert_short_rtn(v.sE), convert_short_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rte(short16 v) { - return (ushort16)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7), convert_ushort_rte(v.s8), convert_ushort_rte(v.s9), convert_ushort_rte(v.sA), convert_ushort_rte(v.sB), convert_ushort_rte(v.sC), convert_ushort_rte(v.sD), convert_ushort_rte(v.sE), convert_ushort_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtz(short16 v) { - return (ushort16)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7), convert_ushort_rtz(v.s8), convert_ushort_rtz(v.s9), convert_ushort_rtz(v.sA), convert_ushort_rtz(v.sB), convert_ushort_rtz(v.sC), convert_ushort_rtz(v.sD), convert_ushort_rtz(v.sE), convert_ushort_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtp(short16 v) { - return (ushort16)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7), convert_ushort_rtp(v.s8), convert_ushort_rtp(v.s9), convert_ushort_rtp(v.sA), convert_ushort_rtp(v.sB), convert_ushort_rtp(v.sC), convert_ushort_rtp(v.sD), convert_ushort_rtp(v.sE), convert_ushort_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtn(short16 v) { - return (ushort16)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7), convert_ushort_rtn(v.s8), convert_ushort_rtn(v.s9), convert_ushort_rtn(v.sA), convert_ushort_rtn(v.sB), convert_ushort_rtn(v.sC), convert_ushort_rtn(v.sD), convert_ushort_rtn(v.sE), convert_ushort_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rte(short16 v) { - return (char16)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7), convert_char_rte(v.s8), convert_char_rte(v.s9), convert_char_rte(v.sA), convert_char_rte(v.sB), convert_char_rte(v.sC), convert_char_rte(v.sD), convert_char_rte(v.sE), convert_char_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtz(short16 v) { - return (char16)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7), convert_char_rtz(v.s8), convert_char_rtz(v.s9), convert_char_rtz(v.sA), convert_char_rtz(v.sB), convert_char_rtz(v.sC), convert_char_rtz(v.sD), convert_char_rtz(v.sE), convert_char_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtp(short16 v) { - return (char16)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7), convert_char_rtp(v.s8), convert_char_rtp(v.s9), convert_char_rtp(v.sA), convert_char_rtp(v.sB), convert_char_rtp(v.sC), convert_char_rtp(v.sD), convert_char_rtp(v.sE), convert_char_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtn(short16 v) { - return (char16)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7), convert_char_rtn(v.s8), convert_char_rtn(v.s9), convert_char_rtn(v.sA), convert_char_rtn(v.sB), convert_char_rtn(v.sC), convert_char_rtn(v.sD), convert_char_rtn(v.sE), convert_char_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rte(short16 v) { - return (uchar16)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7), convert_uchar_rte(v.s8), convert_uchar_rte(v.s9), convert_uchar_rte(v.sA), convert_uchar_rte(v.sB), convert_uchar_rte(v.sC), convert_uchar_rte(v.sD), convert_uchar_rte(v.sE), convert_uchar_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtz(short16 v) { - return (uchar16)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7), convert_uchar_rtz(v.s8), convert_uchar_rtz(v.s9), convert_uchar_rtz(v.sA), convert_uchar_rtz(v.sB), convert_uchar_rtz(v.sC), convert_uchar_rtz(v.sD), convert_uchar_rtz(v.sE), convert_uchar_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtp(short16 v) { - return (uchar16)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7), convert_uchar_rtp(v.s8), convert_uchar_rtp(v.s9), convert_uchar_rtp(v.sA), convert_uchar_rtp(v.sB), convert_uchar_rtp(v.sC), convert_uchar_rtp(v.sD), convert_uchar_rtp(v.sE), convert_uchar_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtn(short16 v) { - return (uchar16)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7), convert_uchar_rtn(v.s8), convert_uchar_rtn(v.s9), convert_uchar_rtn(v.sA), convert_uchar_rtn(v.sB), convert_uchar_rtn(v.sC), convert_uchar_rtn(v.sD), convert_uchar_rtn(v.sE), convert_uchar_rtn(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rte(short16 v) { - return (float16)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7), convert_float_rte(v.s8), convert_float_rte(v.s9), convert_float_rte(v.sA), convert_float_rte(v.sB), convert_float_rte(v.sC), convert_float_rte(v.sD), convert_float_rte(v.sE), convert_float_rte(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtz(short16 v) { - return (float16)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7), convert_float_rtz(v.s8), convert_float_rtz(v.s9), convert_float_rtz(v.sA), convert_float_rtz(v.sB), convert_float_rtz(v.sC), convert_float_rtz(v.sD), convert_float_rtz(v.sE), convert_float_rtz(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtp(short16 v) { - return (float16)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7), convert_float_rtp(v.s8), convert_float_rtp(v.s9), convert_float_rtp(v.sA), convert_float_rtp(v.sB), convert_float_rtp(v.sC), convert_float_rtp(v.sD), convert_float_rtp(v.sE), convert_float_rtp(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtn(short16 v) { - return (float16)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7), convert_float_rtn(v.s8), convert_float_rtn(v.s9), convert_float_rtn(v.sA), convert_float_rtn(v.sB), convert_float_rtn(v.sC), convert_float_rtn(v.sD), convert_float_rtn(v.sE), convert_float_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rte(ushort16 v) { - return (long16)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7), convert_long_rte(v.s8), convert_long_rte(v.s9), convert_long_rte(v.sA), convert_long_rte(v.sB), convert_long_rte(v.sC), convert_long_rte(v.sD), convert_long_rte(v.sE), convert_long_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtz(ushort16 v) { - return (long16)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7), convert_long_rtz(v.s8), convert_long_rtz(v.s9), convert_long_rtz(v.sA), convert_long_rtz(v.sB), convert_long_rtz(v.sC), convert_long_rtz(v.sD), convert_long_rtz(v.sE), convert_long_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtp(ushort16 v) { - return (long16)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7), convert_long_rtp(v.s8), convert_long_rtp(v.s9), convert_long_rtp(v.sA), convert_long_rtp(v.sB), convert_long_rtp(v.sC), convert_long_rtp(v.sD), convert_long_rtp(v.sE), convert_long_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtn(ushort16 v) { - return (long16)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7), convert_long_rtn(v.s8), convert_long_rtn(v.s9), convert_long_rtn(v.sA), convert_long_rtn(v.sB), convert_long_rtn(v.sC), convert_long_rtn(v.sD), convert_long_rtn(v.sE), convert_long_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rte(ushort16 v) { - return (ulong16)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7), convert_ulong_rte(v.s8), convert_ulong_rte(v.s9), convert_ulong_rte(v.sA), convert_ulong_rte(v.sB), convert_ulong_rte(v.sC), convert_ulong_rte(v.sD), convert_ulong_rte(v.sE), convert_ulong_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtz(ushort16 v) { - return (ulong16)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7), convert_ulong_rtz(v.s8), convert_ulong_rtz(v.s9), convert_ulong_rtz(v.sA), convert_ulong_rtz(v.sB), convert_ulong_rtz(v.sC), convert_ulong_rtz(v.sD), convert_ulong_rtz(v.sE), convert_ulong_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtp(ushort16 v) { - return (ulong16)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7), convert_ulong_rtp(v.s8), convert_ulong_rtp(v.s9), convert_ulong_rtp(v.sA), convert_ulong_rtp(v.sB), convert_ulong_rtp(v.sC), convert_ulong_rtp(v.sD), convert_ulong_rtp(v.sE), convert_ulong_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtn(ushort16 v) { - return (ulong16)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7), convert_ulong_rtn(v.s8), convert_ulong_rtn(v.s9), convert_ulong_rtn(v.sA), convert_ulong_rtn(v.sB), convert_ulong_rtn(v.sC), convert_ulong_rtn(v.sD), convert_ulong_rtn(v.sE), convert_ulong_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rte(ushort16 v) { - return (int16)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7), convert_int_rte(v.s8), convert_int_rte(v.s9), convert_int_rte(v.sA), convert_int_rte(v.sB), convert_int_rte(v.sC), convert_int_rte(v.sD), convert_int_rte(v.sE), convert_int_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtz(ushort16 v) { - return (int16)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7), convert_int_rtz(v.s8), convert_int_rtz(v.s9), convert_int_rtz(v.sA), convert_int_rtz(v.sB), convert_int_rtz(v.sC), convert_int_rtz(v.sD), convert_int_rtz(v.sE), convert_int_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtp(ushort16 v) { - return (int16)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7), convert_int_rtp(v.s8), convert_int_rtp(v.s9), convert_int_rtp(v.sA), convert_int_rtp(v.sB), convert_int_rtp(v.sC), convert_int_rtp(v.sD), convert_int_rtp(v.sE), convert_int_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtn(ushort16 v) { - return (int16)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7), convert_int_rtn(v.s8), convert_int_rtn(v.s9), convert_int_rtn(v.sA), convert_int_rtn(v.sB), convert_int_rtn(v.sC), convert_int_rtn(v.sD), convert_int_rtn(v.sE), convert_int_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rte(ushort16 v) { - return (uint16)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7), convert_uint_rte(v.s8), convert_uint_rte(v.s9), convert_uint_rte(v.sA), convert_uint_rte(v.sB), convert_uint_rte(v.sC), convert_uint_rte(v.sD), convert_uint_rte(v.sE), convert_uint_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtz(ushort16 v) { - return (uint16)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7), convert_uint_rtz(v.s8), convert_uint_rtz(v.s9), convert_uint_rtz(v.sA), convert_uint_rtz(v.sB), convert_uint_rtz(v.sC), convert_uint_rtz(v.sD), convert_uint_rtz(v.sE), convert_uint_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtp(ushort16 v) { - return (uint16)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7), convert_uint_rtp(v.s8), convert_uint_rtp(v.s9), convert_uint_rtp(v.sA), convert_uint_rtp(v.sB), convert_uint_rtp(v.sC), convert_uint_rtp(v.sD), convert_uint_rtp(v.sE), convert_uint_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtn(ushort16 v) { - return (uint16)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7), convert_uint_rtn(v.s8), convert_uint_rtn(v.s9), convert_uint_rtn(v.sA), convert_uint_rtn(v.sB), convert_uint_rtn(v.sC), convert_uint_rtn(v.sD), convert_uint_rtn(v.sE), convert_uint_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rte(ushort16 v) { - return (short16)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7), convert_short_rte(v.s8), convert_short_rte(v.s9), convert_short_rte(v.sA), convert_short_rte(v.sB), convert_short_rte(v.sC), convert_short_rte(v.sD), convert_short_rte(v.sE), convert_short_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtz(ushort16 v) { - return (short16)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7), convert_short_rtz(v.s8), convert_short_rtz(v.s9), convert_short_rtz(v.sA), convert_short_rtz(v.sB), convert_short_rtz(v.sC), convert_short_rtz(v.sD), convert_short_rtz(v.sE), convert_short_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtp(ushort16 v) { - return (short16)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7), convert_short_rtp(v.s8), convert_short_rtp(v.s9), convert_short_rtp(v.sA), convert_short_rtp(v.sB), convert_short_rtp(v.sC), convert_short_rtp(v.sD), convert_short_rtp(v.sE), convert_short_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtn(ushort16 v) { - return (short16)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7), convert_short_rtn(v.s8), convert_short_rtn(v.s9), convert_short_rtn(v.sA), convert_short_rtn(v.sB), convert_short_rtn(v.sC), convert_short_rtn(v.sD), convert_short_rtn(v.sE), convert_short_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rte(ushort16 v) { - return (ushort16)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7), convert_ushort_rte(v.s8), convert_ushort_rte(v.s9), convert_ushort_rte(v.sA), convert_ushort_rte(v.sB), convert_ushort_rte(v.sC), convert_ushort_rte(v.sD), convert_ushort_rte(v.sE), convert_ushort_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtz(ushort16 v) { - return (ushort16)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7), convert_ushort_rtz(v.s8), convert_ushort_rtz(v.s9), convert_ushort_rtz(v.sA), convert_ushort_rtz(v.sB), convert_ushort_rtz(v.sC), convert_ushort_rtz(v.sD), convert_ushort_rtz(v.sE), convert_ushort_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtp(ushort16 v) { - return (ushort16)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7), convert_ushort_rtp(v.s8), convert_ushort_rtp(v.s9), convert_ushort_rtp(v.sA), convert_ushort_rtp(v.sB), convert_ushort_rtp(v.sC), convert_ushort_rtp(v.sD), convert_ushort_rtp(v.sE), convert_ushort_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtn(ushort16 v) { - return (ushort16)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7), convert_ushort_rtn(v.s8), convert_ushort_rtn(v.s9), convert_ushort_rtn(v.sA), convert_ushort_rtn(v.sB), convert_ushort_rtn(v.sC), convert_ushort_rtn(v.sD), convert_ushort_rtn(v.sE), convert_ushort_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rte(ushort16 v) { - return (char16)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7), convert_char_rte(v.s8), convert_char_rte(v.s9), convert_char_rte(v.sA), convert_char_rte(v.sB), convert_char_rte(v.sC), convert_char_rte(v.sD), convert_char_rte(v.sE), convert_char_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtz(ushort16 v) { - return (char16)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7), convert_char_rtz(v.s8), convert_char_rtz(v.s9), convert_char_rtz(v.sA), convert_char_rtz(v.sB), convert_char_rtz(v.sC), convert_char_rtz(v.sD), convert_char_rtz(v.sE), convert_char_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtp(ushort16 v) { - return (char16)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7), convert_char_rtp(v.s8), convert_char_rtp(v.s9), convert_char_rtp(v.sA), convert_char_rtp(v.sB), convert_char_rtp(v.sC), convert_char_rtp(v.sD), convert_char_rtp(v.sE), convert_char_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtn(ushort16 v) { - return (char16)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7), convert_char_rtn(v.s8), convert_char_rtn(v.s9), convert_char_rtn(v.sA), convert_char_rtn(v.sB), convert_char_rtn(v.sC), convert_char_rtn(v.sD), convert_char_rtn(v.sE), convert_char_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rte(ushort16 v) { - return (uchar16)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7), convert_uchar_rte(v.s8), convert_uchar_rte(v.s9), convert_uchar_rte(v.sA), convert_uchar_rte(v.sB), convert_uchar_rte(v.sC), convert_uchar_rte(v.sD), convert_uchar_rte(v.sE), convert_uchar_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtz(ushort16 v) { - return (uchar16)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7), convert_uchar_rtz(v.s8), convert_uchar_rtz(v.s9), convert_uchar_rtz(v.sA), convert_uchar_rtz(v.sB), convert_uchar_rtz(v.sC), convert_uchar_rtz(v.sD), convert_uchar_rtz(v.sE), convert_uchar_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtp(ushort16 v) { - return (uchar16)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7), convert_uchar_rtp(v.s8), convert_uchar_rtp(v.s9), convert_uchar_rtp(v.sA), convert_uchar_rtp(v.sB), convert_uchar_rtp(v.sC), convert_uchar_rtp(v.sD), convert_uchar_rtp(v.sE), convert_uchar_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtn(ushort16 v) { - return (uchar16)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7), convert_uchar_rtn(v.s8), convert_uchar_rtn(v.s9), convert_uchar_rtn(v.sA), convert_uchar_rtn(v.sB), convert_uchar_rtn(v.sC), convert_uchar_rtn(v.sD), convert_uchar_rtn(v.sE), convert_uchar_rtn(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rte(ushort16 v) { - return (float16)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7), convert_float_rte(v.s8), convert_float_rte(v.s9), convert_float_rte(v.sA), convert_float_rte(v.sB), convert_float_rte(v.sC), convert_float_rte(v.sD), convert_float_rte(v.sE), convert_float_rte(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtz(ushort16 v) { - return (float16)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7), convert_float_rtz(v.s8), convert_float_rtz(v.s9), convert_float_rtz(v.sA), convert_float_rtz(v.sB), convert_float_rtz(v.sC), convert_float_rtz(v.sD), convert_float_rtz(v.sE), convert_float_rtz(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtp(ushort16 v) { - return (float16)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7), convert_float_rtp(v.s8), convert_float_rtp(v.s9), convert_float_rtp(v.sA), convert_float_rtp(v.sB), convert_float_rtp(v.sC), convert_float_rtp(v.sD), convert_float_rtp(v.sE), convert_float_rtp(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtn(ushort16 v) { - return (float16)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7), convert_float_rtn(v.s8), convert_float_rtn(v.s9), convert_float_rtn(v.sA), convert_float_rtn(v.sB), convert_float_rtn(v.sC), convert_float_rtn(v.sD), convert_float_rtn(v.sE), convert_float_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rte(char16 v) { - return (long16)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7), convert_long_rte(v.s8), convert_long_rte(v.s9), convert_long_rte(v.sA), convert_long_rte(v.sB), convert_long_rte(v.sC), convert_long_rte(v.sD), convert_long_rte(v.sE), convert_long_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtz(char16 v) { - return (long16)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7), convert_long_rtz(v.s8), convert_long_rtz(v.s9), convert_long_rtz(v.sA), convert_long_rtz(v.sB), convert_long_rtz(v.sC), convert_long_rtz(v.sD), convert_long_rtz(v.sE), convert_long_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtp(char16 v) { - return (long16)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7), convert_long_rtp(v.s8), convert_long_rtp(v.s9), convert_long_rtp(v.sA), convert_long_rtp(v.sB), convert_long_rtp(v.sC), convert_long_rtp(v.sD), convert_long_rtp(v.sE), convert_long_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtn(char16 v) { - return (long16)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7), convert_long_rtn(v.s8), convert_long_rtn(v.s9), convert_long_rtn(v.sA), convert_long_rtn(v.sB), convert_long_rtn(v.sC), convert_long_rtn(v.sD), convert_long_rtn(v.sE), convert_long_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rte(char16 v) { - return (ulong16)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7), convert_ulong_rte(v.s8), convert_ulong_rte(v.s9), convert_ulong_rte(v.sA), convert_ulong_rte(v.sB), convert_ulong_rte(v.sC), convert_ulong_rte(v.sD), convert_ulong_rte(v.sE), convert_ulong_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtz(char16 v) { - return (ulong16)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7), convert_ulong_rtz(v.s8), convert_ulong_rtz(v.s9), convert_ulong_rtz(v.sA), convert_ulong_rtz(v.sB), convert_ulong_rtz(v.sC), convert_ulong_rtz(v.sD), convert_ulong_rtz(v.sE), convert_ulong_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtp(char16 v) { - return (ulong16)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7), convert_ulong_rtp(v.s8), convert_ulong_rtp(v.s9), convert_ulong_rtp(v.sA), convert_ulong_rtp(v.sB), convert_ulong_rtp(v.sC), convert_ulong_rtp(v.sD), convert_ulong_rtp(v.sE), convert_ulong_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtn(char16 v) { - return (ulong16)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7), convert_ulong_rtn(v.s8), convert_ulong_rtn(v.s9), convert_ulong_rtn(v.sA), convert_ulong_rtn(v.sB), convert_ulong_rtn(v.sC), convert_ulong_rtn(v.sD), convert_ulong_rtn(v.sE), convert_ulong_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rte(char16 v) { - return (int16)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7), convert_int_rte(v.s8), convert_int_rte(v.s9), convert_int_rte(v.sA), convert_int_rte(v.sB), convert_int_rte(v.sC), convert_int_rte(v.sD), convert_int_rte(v.sE), convert_int_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtz(char16 v) { - return (int16)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7), convert_int_rtz(v.s8), convert_int_rtz(v.s9), convert_int_rtz(v.sA), convert_int_rtz(v.sB), convert_int_rtz(v.sC), convert_int_rtz(v.sD), convert_int_rtz(v.sE), convert_int_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtp(char16 v) { - return (int16)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7), convert_int_rtp(v.s8), convert_int_rtp(v.s9), convert_int_rtp(v.sA), convert_int_rtp(v.sB), convert_int_rtp(v.sC), convert_int_rtp(v.sD), convert_int_rtp(v.sE), convert_int_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtn(char16 v) { - return (int16)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7), convert_int_rtn(v.s8), convert_int_rtn(v.s9), convert_int_rtn(v.sA), convert_int_rtn(v.sB), convert_int_rtn(v.sC), convert_int_rtn(v.sD), convert_int_rtn(v.sE), convert_int_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rte(char16 v) { - return (uint16)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7), convert_uint_rte(v.s8), convert_uint_rte(v.s9), convert_uint_rte(v.sA), convert_uint_rte(v.sB), convert_uint_rte(v.sC), convert_uint_rte(v.sD), convert_uint_rte(v.sE), convert_uint_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtz(char16 v) { - return (uint16)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7), convert_uint_rtz(v.s8), convert_uint_rtz(v.s9), convert_uint_rtz(v.sA), convert_uint_rtz(v.sB), convert_uint_rtz(v.sC), convert_uint_rtz(v.sD), convert_uint_rtz(v.sE), convert_uint_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtp(char16 v) { - return (uint16)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7), convert_uint_rtp(v.s8), convert_uint_rtp(v.s9), convert_uint_rtp(v.sA), convert_uint_rtp(v.sB), convert_uint_rtp(v.sC), convert_uint_rtp(v.sD), convert_uint_rtp(v.sE), convert_uint_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtn(char16 v) { - return (uint16)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7), convert_uint_rtn(v.s8), convert_uint_rtn(v.s9), convert_uint_rtn(v.sA), convert_uint_rtn(v.sB), convert_uint_rtn(v.sC), convert_uint_rtn(v.sD), convert_uint_rtn(v.sE), convert_uint_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rte(char16 v) { - return (short16)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7), convert_short_rte(v.s8), convert_short_rte(v.s9), convert_short_rte(v.sA), convert_short_rte(v.sB), convert_short_rte(v.sC), convert_short_rte(v.sD), convert_short_rte(v.sE), convert_short_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtz(char16 v) { - return (short16)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7), convert_short_rtz(v.s8), convert_short_rtz(v.s9), convert_short_rtz(v.sA), convert_short_rtz(v.sB), convert_short_rtz(v.sC), convert_short_rtz(v.sD), convert_short_rtz(v.sE), convert_short_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtp(char16 v) { - return (short16)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7), convert_short_rtp(v.s8), convert_short_rtp(v.s9), convert_short_rtp(v.sA), convert_short_rtp(v.sB), convert_short_rtp(v.sC), convert_short_rtp(v.sD), convert_short_rtp(v.sE), convert_short_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtn(char16 v) { - return (short16)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7), convert_short_rtn(v.s8), convert_short_rtn(v.s9), convert_short_rtn(v.sA), convert_short_rtn(v.sB), convert_short_rtn(v.sC), convert_short_rtn(v.sD), convert_short_rtn(v.sE), convert_short_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rte(char16 v) { - return (ushort16)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7), convert_ushort_rte(v.s8), convert_ushort_rte(v.s9), convert_ushort_rte(v.sA), convert_ushort_rte(v.sB), convert_ushort_rte(v.sC), convert_ushort_rte(v.sD), convert_ushort_rte(v.sE), convert_ushort_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtz(char16 v) { - return (ushort16)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7), convert_ushort_rtz(v.s8), convert_ushort_rtz(v.s9), convert_ushort_rtz(v.sA), convert_ushort_rtz(v.sB), convert_ushort_rtz(v.sC), convert_ushort_rtz(v.sD), convert_ushort_rtz(v.sE), convert_ushort_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtp(char16 v) { - return (ushort16)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7), convert_ushort_rtp(v.s8), convert_ushort_rtp(v.s9), convert_ushort_rtp(v.sA), convert_ushort_rtp(v.sB), convert_ushort_rtp(v.sC), convert_ushort_rtp(v.sD), convert_ushort_rtp(v.sE), convert_ushort_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtn(char16 v) { - return (ushort16)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7), convert_ushort_rtn(v.s8), convert_ushort_rtn(v.s9), convert_ushort_rtn(v.sA), convert_ushort_rtn(v.sB), convert_ushort_rtn(v.sC), convert_ushort_rtn(v.sD), convert_ushort_rtn(v.sE), convert_ushort_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rte(char16 v) { - return (char16)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7), convert_char_rte(v.s8), convert_char_rte(v.s9), convert_char_rte(v.sA), convert_char_rte(v.sB), convert_char_rte(v.sC), convert_char_rte(v.sD), convert_char_rte(v.sE), convert_char_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtz(char16 v) { - return (char16)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7), convert_char_rtz(v.s8), convert_char_rtz(v.s9), convert_char_rtz(v.sA), convert_char_rtz(v.sB), convert_char_rtz(v.sC), convert_char_rtz(v.sD), convert_char_rtz(v.sE), convert_char_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtp(char16 v) { - return (char16)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7), convert_char_rtp(v.s8), convert_char_rtp(v.s9), convert_char_rtp(v.sA), convert_char_rtp(v.sB), convert_char_rtp(v.sC), convert_char_rtp(v.sD), convert_char_rtp(v.sE), convert_char_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtn(char16 v) { - return (char16)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7), convert_char_rtn(v.s8), convert_char_rtn(v.s9), convert_char_rtn(v.sA), convert_char_rtn(v.sB), convert_char_rtn(v.sC), convert_char_rtn(v.sD), convert_char_rtn(v.sE), convert_char_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rte(char16 v) { - return (uchar16)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7), convert_uchar_rte(v.s8), convert_uchar_rte(v.s9), convert_uchar_rte(v.sA), convert_uchar_rte(v.sB), convert_uchar_rte(v.sC), convert_uchar_rte(v.sD), convert_uchar_rte(v.sE), convert_uchar_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtz(char16 v) { - return (uchar16)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7), convert_uchar_rtz(v.s8), convert_uchar_rtz(v.s9), convert_uchar_rtz(v.sA), convert_uchar_rtz(v.sB), convert_uchar_rtz(v.sC), convert_uchar_rtz(v.sD), convert_uchar_rtz(v.sE), convert_uchar_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtp(char16 v) { - return (uchar16)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7), convert_uchar_rtp(v.s8), convert_uchar_rtp(v.s9), convert_uchar_rtp(v.sA), convert_uchar_rtp(v.sB), convert_uchar_rtp(v.sC), convert_uchar_rtp(v.sD), convert_uchar_rtp(v.sE), convert_uchar_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtn(char16 v) { - return (uchar16)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7), convert_uchar_rtn(v.s8), convert_uchar_rtn(v.s9), convert_uchar_rtn(v.sA), convert_uchar_rtn(v.sB), convert_uchar_rtn(v.sC), convert_uchar_rtn(v.sD), convert_uchar_rtn(v.sE), convert_uchar_rtn(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rte(char16 v) { - return (float16)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7), convert_float_rte(v.s8), convert_float_rte(v.s9), convert_float_rte(v.sA), convert_float_rte(v.sB), convert_float_rte(v.sC), convert_float_rte(v.sD), convert_float_rte(v.sE), convert_float_rte(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtz(char16 v) { - return (float16)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7), convert_float_rtz(v.s8), convert_float_rtz(v.s9), convert_float_rtz(v.sA), convert_float_rtz(v.sB), convert_float_rtz(v.sC), convert_float_rtz(v.sD), convert_float_rtz(v.sE), convert_float_rtz(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtp(char16 v) { - return (float16)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7), convert_float_rtp(v.s8), convert_float_rtp(v.s9), convert_float_rtp(v.sA), convert_float_rtp(v.sB), convert_float_rtp(v.sC), convert_float_rtp(v.sD), convert_float_rtp(v.sE), convert_float_rtp(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtn(char16 v) { - return (float16)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7), convert_float_rtn(v.s8), convert_float_rtn(v.s9), convert_float_rtn(v.sA), convert_float_rtn(v.sB), convert_float_rtn(v.sC), convert_float_rtn(v.sD), convert_float_rtn(v.sE), convert_float_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rte(uchar16 v) { - return (long16)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7), convert_long_rte(v.s8), convert_long_rte(v.s9), convert_long_rte(v.sA), convert_long_rte(v.sB), convert_long_rte(v.sC), convert_long_rte(v.sD), convert_long_rte(v.sE), convert_long_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtz(uchar16 v) { - return (long16)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7), convert_long_rtz(v.s8), convert_long_rtz(v.s9), convert_long_rtz(v.sA), convert_long_rtz(v.sB), convert_long_rtz(v.sC), convert_long_rtz(v.sD), convert_long_rtz(v.sE), convert_long_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtp(uchar16 v) { - return (long16)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7), convert_long_rtp(v.s8), convert_long_rtp(v.s9), convert_long_rtp(v.sA), convert_long_rtp(v.sB), convert_long_rtp(v.sC), convert_long_rtp(v.sD), convert_long_rtp(v.sE), convert_long_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtn(uchar16 v) { - return (long16)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7), convert_long_rtn(v.s8), convert_long_rtn(v.s9), convert_long_rtn(v.sA), convert_long_rtn(v.sB), convert_long_rtn(v.sC), convert_long_rtn(v.sD), convert_long_rtn(v.sE), convert_long_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rte(uchar16 v) { - return (ulong16)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7), convert_ulong_rte(v.s8), convert_ulong_rte(v.s9), convert_ulong_rte(v.sA), convert_ulong_rte(v.sB), convert_ulong_rte(v.sC), convert_ulong_rte(v.sD), convert_ulong_rte(v.sE), convert_ulong_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtz(uchar16 v) { - return (ulong16)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7), convert_ulong_rtz(v.s8), convert_ulong_rtz(v.s9), convert_ulong_rtz(v.sA), convert_ulong_rtz(v.sB), convert_ulong_rtz(v.sC), convert_ulong_rtz(v.sD), convert_ulong_rtz(v.sE), convert_ulong_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtp(uchar16 v) { - return (ulong16)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7), convert_ulong_rtp(v.s8), convert_ulong_rtp(v.s9), convert_ulong_rtp(v.sA), convert_ulong_rtp(v.sB), convert_ulong_rtp(v.sC), convert_ulong_rtp(v.sD), convert_ulong_rtp(v.sE), convert_ulong_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtn(uchar16 v) { - return (ulong16)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7), convert_ulong_rtn(v.s8), convert_ulong_rtn(v.s9), convert_ulong_rtn(v.sA), convert_ulong_rtn(v.sB), convert_ulong_rtn(v.sC), convert_ulong_rtn(v.sD), convert_ulong_rtn(v.sE), convert_ulong_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rte(uchar16 v) { - return (int16)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7), convert_int_rte(v.s8), convert_int_rte(v.s9), convert_int_rte(v.sA), convert_int_rte(v.sB), convert_int_rte(v.sC), convert_int_rte(v.sD), convert_int_rte(v.sE), convert_int_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtz(uchar16 v) { - return (int16)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7), convert_int_rtz(v.s8), convert_int_rtz(v.s9), convert_int_rtz(v.sA), convert_int_rtz(v.sB), convert_int_rtz(v.sC), convert_int_rtz(v.sD), convert_int_rtz(v.sE), convert_int_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtp(uchar16 v) { - return (int16)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7), convert_int_rtp(v.s8), convert_int_rtp(v.s9), convert_int_rtp(v.sA), convert_int_rtp(v.sB), convert_int_rtp(v.sC), convert_int_rtp(v.sD), convert_int_rtp(v.sE), convert_int_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtn(uchar16 v) { - return (int16)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7), convert_int_rtn(v.s8), convert_int_rtn(v.s9), convert_int_rtn(v.sA), convert_int_rtn(v.sB), convert_int_rtn(v.sC), convert_int_rtn(v.sD), convert_int_rtn(v.sE), convert_int_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rte(uchar16 v) { - return (uint16)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7), convert_uint_rte(v.s8), convert_uint_rte(v.s9), convert_uint_rte(v.sA), convert_uint_rte(v.sB), convert_uint_rte(v.sC), convert_uint_rte(v.sD), convert_uint_rte(v.sE), convert_uint_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtz(uchar16 v) { - return (uint16)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7), convert_uint_rtz(v.s8), convert_uint_rtz(v.s9), convert_uint_rtz(v.sA), convert_uint_rtz(v.sB), convert_uint_rtz(v.sC), convert_uint_rtz(v.sD), convert_uint_rtz(v.sE), convert_uint_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtp(uchar16 v) { - return (uint16)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7), convert_uint_rtp(v.s8), convert_uint_rtp(v.s9), convert_uint_rtp(v.sA), convert_uint_rtp(v.sB), convert_uint_rtp(v.sC), convert_uint_rtp(v.sD), convert_uint_rtp(v.sE), convert_uint_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtn(uchar16 v) { - return (uint16)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7), convert_uint_rtn(v.s8), convert_uint_rtn(v.s9), convert_uint_rtn(v.sA), convert_uint_rtn(v.sB), convert_uint_rtn(v.sC), convert_uint_rtn(v.sD), convert_uint_rtn(v.sE), convert_uint_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rte(uchar16 v) { - return (short16)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7), convert_short_rte(v.s8), convert_short_rte(v.s9), convert_short_rte(v.sA), convert_short_rte(v.sB), convert_short_rte(v.sC), convert_short_rte(v.sD), convert_short_rte(v.sE), convert_short_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtz(uchar16 v) { - return (short16)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7), convert_short_rtz(v.s8), convert_short_rtz(v.s9), convert_short_rtz(v.sA), convert_short_rtz(v.sB), convert_short_rtz(v.sC), convert_short_rtz(v.sD), convert_short_rtz(v.sE), convert_short_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtp(uchar16 v) { - return (short16)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7), convert_short_rtp(v.s8), convert_short_rtp(v.s9), convert_short_rtp(v.sA), convert_short_rtp(v.sB), convert_short_rtp(v.sC), convert_short_rtp(v.sD), convert_short_rtp(v.sE), convert_short_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtn(uchar16 v) { - return (short16)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7), convert_short_rtn(v.s8), convert_short_rtn(v.s9), convert_short_rtn(v.sA), convert_short_rtn(v.sB), convert_short_rtn(v.sC), convert_short_rtn(v.sD), convert_short_rtn(v.sE), convert_short_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rte(uchar16 v) { - return (ushort16)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7), convert_ushort_rte(v.s8), convert_ushort_rte(v.s9), convert_ushort_rte(v.sA), convert_ushort_rte(v.sB), convert_ushort_rte(v.sC), convert_ushort_rte(v.sD), convert_ushort_rte(v.sE), convert_ushort_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtz(uchar16 v) { - return (ushort16)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7), convert_ushort_rtz(v.s8), convert_ushort_rtz(v.s9), convert_ushort_rtz(v.sA), convert_ushort_rtz(v.sB), convert_ushort_rtz(v.sC), convert_ushort_rtz(v.sD), convert_ushort_rtz(v.sE), convert_ushort_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtp(uchar16 v) { - return (ushort16)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7), convert_ushort_rtp(v.s8), convert_ushort_rtp(v.s9), convert_ushort_rtp(v.sA), convert_ushort_rtp(v.sB), convert_ushort_rtp(v.sC), convert_ushort_rtp(v.sD), convert_ushort_rtp(v.sE), convert_ushort_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtn(uchar16 v) { - return (ushort16)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7), convert_ushort_rtn(v.s8), convert_ushort_rtn(v.s9), convert_ushort_rtn(v.sA), convert_ushort_rtn(v.sB), convert_ushort_rtn(v.sC), convert_ushort_rtn(v.sD), convert_ushort_rtn(v.sE), convert_ushort_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rte(uchar16 v) { - return (char16)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7), convert_char_rte(v.s8), convert_char_rte(v.s9), convert_char_rte(v.sA), convert_char_rte(v.sB), convert_char_rte(v.sC), convert_char_rte(v.sD), convert_char_rte(v.sE), convert_char_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtz(uchar16 v) { - return (char16)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7), convert_char_rtz(v.s8), convert_char_rtz(v.s9), convert_char_rtz(v.sA), convert_char_rtz(v.sB), convert_char_rtz(v.sC), convert_char_rtz(v.sD), convert_char_rtz(v.sE), convert_char_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtp(uchar16 v) { - return (char16)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7), convert_char_rtp(v.s8), convert_char_rtp(v.s9), convert_char_rtp(v.sA), convert_char_rtp(v.sB), convert_char_rtp(v.sC), convert_char_rtp(v.sD), convert_char_rtp(v.sE), convert_char_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtn(uchar16 v) { - return (char16)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7), convert_char_rtn(v.s8), convert_char_rtn(v.s9), convert_char_rtn(v.sA), convert_char_rtn(v.sB), convert_char_rtn(v.sC), convert_char_rtn(v.sD), convert_char_rtn(v.sE), convert_char_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rte(uchar16 v) { - return (uchar16)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7), convert_uchar_rte(v.s8), convert_uchar_rte(v.s9), convert_uchar_rte(v.sA), convert_uchar_rte(v.sB), convert_uchar_rte(v.sC), convert_uchar_rte(v.sD), convert_uchar_rte(v.sE), convert_uchar_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtz(uchar16 v) { - return (uchar16)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7), convert_uchar_rtz(v.s8), convert_uchar_rtz(v.s9), convert_uchar_rtz(v.sA), convert_uchar_rtz(v.sB), convert_uchar_rtz(v.sC), convert_uchar_rtz(v.sD), convert_uchar_rtz(v.sE), convert_uchar_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtp(uchar16 v) { - return (uchar16)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7), convert_uchar_rtp(v.s8), convert_uchar_rtp(v.s9), convert_uchar_rtp(v.sA), convert_uchar_rtp(v.sB), convert_uchar_rtp(v.sC), convert_uchar_rtp(v.sD), convert_uchar_rtp(v.sE), convert_uchar_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtn(uchar16 v) { - return (uchar16)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7), convert_uchar_rtn(v.s8), convert_uchar_rtn(v.s9), convert_uchar_rtn(v.sA), convert_uchar_rtn(v.sB), convert_uchar_rtn(v.sC), convert_uchar_rtn(v.sD), convert_uchar_rtn(v.sE), convert_uchar_rtn(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rte(uchar16 v) { - return (float16)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7), convert_float_rte(v.s8), convert_float_rte(v.s9), convert_float_rte(v.sA), convert_float_rte(v.sB), convert_float_rte(v.sC), convert_float_rte(v.sD), convert_float_rte(v.sE), convert_float_rte(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtz(uchar16 v) { - return (float16)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7), convert_float_rtz(v.s8), convert_float_rtz(v.s9), convert_float_rtz(v.sA), convert_float_rtz(v.sB), convert_float_rtz(v.sC), convert_float_rtz(v.sD), convert_float_rtz(v.sE), convert_float_rtz(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtp(uchar16 v) { - return (float16)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7), convert_float_rtp(v.s8), convert_float_rtp(v.s9), convert_float_rtp(v.sA), convert_float_rtp(v.sB), convert_float_rtp(v.sC), convert_float_rtp(v.sD), convert_float_rtp(v.sE), convert_float_rtp(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtn(uchar16 v) { - return (float16)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7), convert_float_rtn(v.s8), convert_float_rtn(v.s9), convert_float_rtn(v.sA), convert_float_rtn(v.sB), convert_float_rtn(v.sC), convert_float_rtn(v.sD), convert_float_rtn(v.sE), convert_float_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rte(float16 v) { - return (long16)(convert_long_rte(v.s0), convert_long_rte(v.s1), convert_long_rte(v.s2), convert_long_rte(v.s3), convert_long_rte(v.s4), convert_long_rte(v.s5), convert_long_rte(v.s6), convert_long_rte(v.s7), convert_long_rte(v.s8), convert_long_rte(v.s9), convert_long_rte(v.sA), convert_long_rte(v.sB), convert_long_rte(v.sC), convert_long_rte(v.sD), convert_long_rte(v.sE), convert_long_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtz(float16 v) { - return (long16)(convert_long_rtz(v.s0), convert_long_rtz(v.s1), convert_long_rtz(v.s2), convert_long_rtz(v.s3), convert_long_rtz(v.s4), convert_long_rtz(v.s5), convert_long_rtz(v.s6), convert_long_rtz(v.s7), convert_long_rtz(v.s8), convert_long_rtz(v.s9), convert_long_rtz(v.sA), convert_long_rtz(v.sB), convert_long_rtz(v.sC), convert_long_rtz(v.sD), convert_long_rtz(v.sE), convert_long_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtp(float16 v) { - return (long16)(convert_long_rtp(v.s0), convert_long_rtp(v.s1), convert_long_rtp(v.s2), convert_long_rtp(v.s3), convert_long_rtp(v.s4), convert_long_rtp(v.s5), convert_long_rtp(v.s6), convert_long_rtp(v.s7), convert_long_rtp(v.s8), convert_long_rtp(v.s9), convert_long_rtp(v.sA), convert_long_rtp(v.sB), convert_long_rtp(v.sC), convert_long_rtp(v.sD), convert_long_rtp(v.sE), convert_long_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_rtn(float16 v) { - return (long16)(convert_long_rtn(v.s0), convert_long_rtn(v.s1), convert_long_rtn(v.s2), convert_long_rtn(v.s3), convert_long_rtn(v.s4), convert_long_rtn(v.s5), convert_long_rtn(v.s6), convert_long_rtn(v.s7), convert_long_rtn(v.s8), convert_long_rtn(v.s9), convert_long_rtn(v.sA), convert_long_rtn(v.sB), convert_long_rtn(v.sC), convert_long_rtn(v.sD), convert_long_rtn(v.sE), convert_long_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rte(float16 v) { - return (ulong16)(convert_ulong_rte(v.s0), convert_ulong_rte(v.s1), convert_ulong_rte(v.s2), convert_ulong_rte(v.s3), convert_ulong_rte(v.s4), convert_ulong_rte(v.s5), convert_ulong_rte(v.s6), convert_ulong_rte(v.s7), convert_ulong_rte(v.s8), convert_ulong_rte(v.s9), convert_ulong_rte(v.sA), convert_ulong_rte(v.sB), convert_ulong_rte(v.sC), convert_ulong_rte(v.sD), convert_ulong_rte(v.sE), convert_ulong_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtz(float16 v) { - return (ulong16)(convert_ulong_rtz(v.s0), convert_ulong_rtz(v.s1), convert_ulong_rtz(v.s2), convert_ulong_rtz(v.s3), convert_ulong_rtz(v.s4), convert_ulong_rtz(v.s5), convert_ulong_rtz(v.s6), convert_ulong_rtz(v.s7), convert_ulong_rtz(v.s8), convert_ulong_rtz(v.s9), convert_ulong_rtz(v.sA), convert_ulong_rtz(v.sB), convert_ulong_rtz(v.sC), convert_ulong_rtz(v.sD), convert_ulong_rtz(v.sE), convert_ulong_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtp(float16 v) { - return (ulong16)(convert_ulong_rtp(v.s0), convert_ulong_rtp(v.s1), convert_ulong_rtp(v.s2), convert_ulong_rtp(v.s3), convert_ulong_rtp(v.s4), convert_ulong_rtp(v.s5), convert_ulong_rtp(v.s6), convert_ulong_rtp(v.s7), convert_ulong_rtp(v.s8), convert_ulong_rtp(v.s9), convert_ulong_rtp(v.sA), convert_ulong_rtp(v.sB), convert_ulong_rtp(v.sC), convert_ulong_rtp(v.sD), convert_ulong_rtp(v.sE), convert_ulong_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_rtn(float16 v) { - return (ulong16)(convert_ulong_rtn(v.s0), convert_ulong_rtn(v.s1), convert_ulong_rtn(v.s2), convert_ulong_rtn(v.s3), convert_ulong_rtn(v.s4), convert_ulong_rtn(v.s5), convert_ulong_rtn(v.s6), convert_ulong_rtn(v.s7), convert_ulong_rtn(v.s8), convert_ulong_rtn(v.s9), convert_ulong_rtn(v.sA), convert_ulong_rtn(v.sB), convert_ulong_rtn(v.sC), convert_ulong_rtn(v.sD), convert_ulong_rtn(v.sE), convert_ulong_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rte(float16 v) { - return (int16)(convert_int_rte(v.s0), convert_int_rte(v.s1), convert_int_rte(v.s2), convert_int_rte(v.s3), convert_int_rte(v.s4), convert_int_rte(v.s5), convert_int_rte(v.s6), convert_int_rte(v.s7), convert_int_rte(v.s8), convert_int_rte(v.s9), convert_int_rte(v.sA), convert_int_rte(v.sB), convert_int_rte(v.sC), convert_int_rte(v.sD), convert_int_rte(v.sE), convert_int_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtz(float16 v) { - return (int16)(convert_int_rtz(v.s0), convert_int_rtz(v.s1), convert_int_rtz(v.s2), convert_int_rtz(v.s3), convert_int_rtz(v.s4), convert_int_rtz(v.s5), convert_int_rtz(v.s6), convert_int_rtz(v.s7), convert_int_rtz(v.s8), convert_int_rtz(v.s9), convert_int_rtz(v.sA), convert_int_rtz(v.sB), convert_int_rtz(v.sC), convert_int_rtz(v.sD), convert_int_rtz(v.sE), convert_int_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtp(float16 v) { - return (int16)(convert_int_rtp(v.s0), convert_int_rtp(v.s1), convert_int_rtp(v.s2), convert_int_rtp(v.s3), convert_int_rtp(v.s4), convert_int_rtp(v.s5), convert_int_rtp(v.s6), convert_int_rtp(v.s7), convert_int_rtp(v.s8), convert_int_rtp(v.s9), convert_int_rtp(v.sA), convert_int_rtp(v.sB), convert_int_rtp(v.sC), convert_int_rtp(v.sD), convert_int_rtp(v.sE), convert_int_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_rtn(float16 v) { - return (int16)(convert_int_rtn(v.s0), convert_int_rtn(v.s1), convert_int_rtn(v.s2), convert_int_rtn(v.s3), convert_int_rtn(v.s4), convert_int_rtn(v.s5), convert_int_rtn(v.s6), convert_int_rtn(v.s7), convert_int_rtn(v.s8), convert_int_rtn(v.s9), convert_int_rtn(v.sA), convert_int_rtn(v.sB), convert_int_rtn(v.sC), convert_int_rtn(v.sD), convert_int_rtn(v.sE), convert_int_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rte(float16 v) { - return (uint16)(convert_uint_rte(v.s0), convert_uint_rte(v.s1), convert_uint_rte(v.s2), convert_uint_rte(v.s3), convert_uint_rte(v.s4), convert_uint_rte(v.s5), convert_uint_rte(v.s6), convert_uint_rte(v.s7), convert_uint_rte(v.s8), convert_uint_rte(v.s9), convert_uint_rte(v.sA), convert_uint_rte(v.sB), convert_uint_rte(v.sC), convert_uint_rte(v.sD), convert_uint_rte(v.sE), convert_uint_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtz(float16 v) { - return (uint16)(convert_uint_rtz(v.s0), convert_uint_rtz(v.s1), convert_uint_rtz(v.s2), convert_uint_rtz(v.s3), convert_uint_rtz(v.s4), convert_uint_rtz(v.s5), convert_uint_rtz(v.s6), convert_uint_rtz(v.s7), convert_uint_rtz(v.s8), convert_uint_rtz(v.s9), convert_uint_rtz(v.sA), convert_uint_rtz(v.sB), convert_uint_rtz(v.sC), convert_uint_rtz(v.sD), convert_uint_rtz(v.sE), convert_uint_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtp(float16 v) { - return (uint16)(convert_uint_rtp(v.s0), convert_uint_rtp(v.s1), convert_uint_rtp(v.s2), convert_uint_rtp(v.s3), convert_uint_rtp(v.s4), convert_uint_rtp(v.s5), convert_uint_rtp(v.s6), convert_uint_rtp(v.s7), convert_uint_rtp(v.s8), convert_uint_rtp(v.s9), convert_uint_rtp(v.sA), convert_uint_rtp(v.sB), convert_uint_rtp(v.sC), convert_uint_rtp(v.sD), convert_uint_rtp(v.sE), convert_uint_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_rtn(float16 v) { - return (uint16)(convert_uint_rtn(v.s0), convert_uint_rtn(v.s1), convert_uint_rtn(v.s2), convert_uint_rtn(v.s3), convert_uint_rtn(v.s4), convert_uint_rtn(v.s5), convert_uint_rtn(v.s6), convert_uint_rtn(v.s7), convert_uint_rtn(v.s8), convert_uint_rtn(v.s9), convert_uint_rtn(v.sA), convert_uint_rtn(v.sB), convert_uint_rtn(v.sC), convert_uint_rtn(v.sD), convert_uint_rtn(v.sE), convert_uint_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rte(float16 v) { - return (short16)(convert_short_rte(v.s0), convert_short_rte(v.s1), convert_short_rte(v.s2), convert_short_rte(v.s3), convert_short_rte(v.s4), convert_short_rte(v.s5), convert_short_rte(v.s6), convert_short_rte(v.s7), convert_short_rte(v.s8), convert_short_rte(v.s9), convert_short_rte(v.sA), convert_short_rte(v.sB), convert_short_rte(v.sC), convert_short_rte(v.sD), convert_short_rte(v.sE), convert_short_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtz(float16 v) { - return (short16)(convert_short_rtz(v.s0), convert_short_rtz(v.s1), convert_short_rtz(v.s2), convert_short_rtz(v.s3), convert_short_rtz(v.s4), convert_short_rtz(v.s5), convert_short_rtz(v.s6), convert_short_rtz(v.s7), convert_short_rtz(v.s8), convert_short_rtz(v.s9), convert_short_rtz(v.sA), convert_short_rtz(v.sB), convert_short_rtz(v.sC), convert_short_rtz(v.sD), convert_short_rtz(v.sE), convert_short_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtp(float16 v) { - return (short16)(convert_short_rtp(v.s0), convert_short_rtp(v.s1), convert_short_rtp(v.s2), convert_short_rtp(v.s3), convert_short_rtp(v.s4), convert_short_rtp(v.s5), convert_short_rtp(v.s6), convert_short_rtp(v.s7), convert_short_rtp(v.s8), convert_short_rtp(v.s9), convert_short_rtp(v.sA), convert_short_rtp(v.sB), convert_short_rtp(v.sC), convert_short_rtp(v.sD), convert_short_rtp(v.sE), convert_short_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_rtn(float16 v) { - return (short16)(convert_short_rtn(v.s0), convert_short_rtn(v.s1), convert_short_rtn(v.s2), convert_short_rtn(v.s3), convert_short_rtn(v.s4), convert_short_rtn(v.s5), convert_short_rtn(v.s6), convert_short_rtn(v.s7), convert_short_rtn(v.s8), convert_short_rtn(v.s9), convert_short_rtn(v.sA), convert_short_rtn(v.sB), convert_short_rtn(v.sC), convert_short_rtn(v.sD), convert_short_rtn(v.sE), convert_short_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rte(float16 v) { - return (ushort16)(convert_ushort_rte(v.s0), convert_ushort_rte(v.s1), convert_ushort_rte(v.s2), convert_ushort_rte(v.s3), convert_ushort_rte(v.s4), convert_ushort_rte(v.s5), convert_ushort_rte(v.s6), convert_ushort_rte(v.s7), convert_ushort_rte(v.s8), convert_ushort_rte(v.s9), convert_ushort_rte(v.sA), convert_ushort_rte(v.sB), convert_ushort_rte(v.sC), convert_ushort_rte(v.sD), convert_ushort_rte(v.sE), convert_ushort_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtz(float16 v) { - return (ushort16)(convert_ushort_rtz(v.s0), convert_ushort_rtz(v.s1), convert_ushort_rtz(v.s2), convert_ushort_rtz(v.s3), convert_ushort_rtz(v.s4), convert_ushort_rtz(v.s5), convert_ushort_rtz(v.s6), convert_ushort_rtz(v.s7), convert_ushort_rtz(v.s8), convert_ushort_rtz(v.s9), convert_ushort_rtz(v.sA), convert_ushort_rtz(v.sB), convert_ushort_rtz(v.sC), convert_ushort_rtz(v.sD), convert_ushort_rtz(v.sE), convert_ushort_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtp(float16 v) { - return (ushort16)(convert_ushort_rtp(v.s0), convert_ushort_rtp(v.s1), convert_ushort_rtp(v.s2), convert_ushort_rtp(v.s3), convert_ushort_rtp(v.s4), convert_ushort_rtp(v.s5), convert_ushort_rtp(v.s6), convert_ushort_rtp(v.s7), convert_ushort_rtp(v.s8), convert_ushort_rtp(v.s9), convert_ushort_rtp(v.sA), convert_ushort_rtp(v.sB), convert_ushort_rtp(v.sC), convert_ushort_rtp(v.sD), convert_ushort_rtp(v.sE), convert_ushort_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_rtn(float16 v) { - return (ushort16)(convert_ushort_rtn(v.s0), convert_ushort_rtn(v.s1), convert_ushort_rtn(v.s2), convert_ushort_rtn(v.s3), convert_ushort_rtn(v.s4), convert_ushort_rtn(v.s5), convert_ushort_rtn(v.s6), convert_ushort_rtn(v.s7), convert_ushort_rtn(v.s8), convert_ushort_rtn(v.s9), convert_ushort_rtn(v.sA), convert_ushort_rtn(v.sB), convert_ushort_rtn(v.sC), convert_ushort_rtn(v.sD), convert_ushort_rtn(v.sE), convert_ushort_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rte(float16 v) { - return (char16)(convert_char_rte(v.s0), convert_char_rte(v.s1), convert_char_rte(v.s2), convert_char_rte(v.s3), convert_char_rte(v.s4), convert_char_rte(v.s5), convert_char_rte(v.s6), convert_char_rte(v.s7), convert_char_rte(v.s8), convert_char_rte(v.s9), convert_char_rte(v.sA), convert_char_rte(v.sB), convert_char_rte(v.sC), convert_char_rte(v.sD), convert_char_rte(v.sE), convert_char_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtz(float16 v) { - return (char16)(convert_char_rtz(v.s0), convert_char_rtz(v.s1), convert_char_rtz(v.s2), convert_char_rtz(v.s3), convert_char_rtz(v.s4), convert_char_rtz(v.s5), convert_char_rtz(v.s6), convert_char_rtz(v.s7), convert_char_rtz(v.s8), convert_char_rtz(v.s9), convert_char_rtz(v.sA), convert_char_rtz(v.sB), convert_char_rtz(v.sC), convert_char_rtz(v.sD), convert_char_rtz(v.sE), convert_char_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtp(float16 v) { - return (char16)(convert_char_rtp(v.s0), convert_char_rtp(v.s1), convert_char_rtp(v.s2), convert_char_rtp(v.s3), convert_char_rtp(v.s4), convert_char_rtp(v.s5), convert_char_rtp(v.s6), convert_char_rtp(v.s7), convert_char_rtp(v.s8), convert_char_rtp(v.s9), convert_char_rtp(v.sA), convert_char_rtp(v.sB), convert_char_rtp(v.sC), convert_char_rtp(v.sD), convert_char_rtp(v.sE), convert_char_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_rtn(float16 v) { - return (char16)(convert_char_rtn(v.s0), convert_char_rtn(v.s1), convert_char_rtn(v.s2), convert_char_rtn(v.s3), convert_char_rtn(v.s4), convert_char_rtn(v.s5), convert_char_rtn(v.s6), convert_char_rtn(v.s7), convert_char_rtn(v.s8), convert_char_rtn(v.s9), convert_char_rtn(v.sA), convert_char_rtn(v.sB), convert_char_rtn(v.sC), convert_char_rtn(v.sD), convert_char_rtn(v.sE), convert_char_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rte(float16 v) { - return (uchar16)(convert_uchar_rte(v.s0), convert_uchar_rte(v.s1), convert_uchar_rte(v.s2), convert_uchar_rte(v.s3), convert_uchar_rte(v.s4), convert_uchar_rte(v.s5), convert_uchar_rte(v.s6), convert_uchar_rte(v.s7), convert_uchar_rte(v.s8), convert_uchar_rte(v.s9), convert_uchar_rte(v.sA), convert_uchar_rte(v.sB), convert_uchar_rte(v.sC), convert_uchar_rte(v.sD), convert_uchar_rte(v.sE), convert_uchar_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtz(float16 v) { - return (uchar16)(convert_uchar_rtz(v.s0), convert_uchar_rtz(v.s1), convert_uchar_rtz(v.s2), convert_uchar_rtz(v.s3), convert_uchar_rtz(v.s4), convert_uchar_rtz(v.s5), convert_uchar_rtz(v.s6), convert_uchar_rtz(v.s7), convert_uchar_rtz(v.s8), convert_uchar_rtz(v.s9), convert_uchar_rtz(v.sA), convert_uchar_rtz(v.sB), convert_uchar_rtz(v.sC), convert_uchar_rtz(v.sD), convert_uchar_rtz(v.sE), convert_uchar_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtp(float16 v) { - return (uchar16)(convert_uchar_rtp(v.s0), convert_uchar_rtp(v.s1), convert_uchar_rtp(v.s2), convert_uchar_rtp(v.s3), convert_uchar_rtp(v.s4), convert_uchar_rtp(v.s5), convert_uchar_rtp(v.s6), convert_uchar_rtp(v.s7), convert_uchar_rtp(v.s8), convert_uchar_rtp(v.s9), convert_uchar_rtp(v.sA), convert_uchar_rtp(v.sB), convert_uchar_rtp(v.sC), convert_uchar_rtp(v.sD), convert_uchar_rtp(v.sE), convert_uchar_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_rtn(float16 v) { - return (uchar16)(convert_uchar_rtn(v.s0), convert_uchar_rtn(v.s1), convert_uchar_rtn(v.s2), convert_uchar_rtn(v.s3), convert_uchar_rtn(v.s4), convert_uchar_rtn(v.s5), convert_uchar_rtn(v.s6), convert_uchar_rtn(v.s7), convert_uchar_rtn(v.s8), convert_uchar_rtn(v.s9), convert_uchar_rtn(v.sA), convert_uchar_rtn(v.sB), convert_uchar_rtn(v.sC), convert_uchar_rtn(v.sD), convert_uchar_rtn(v.sE), convert_uchar_rtn(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rte(float16 v) { - return (float16)(convert_float_rte(v.s0), convert_float_rte(v.s1), convert_float_rte(v.s2), convert_float_rte(v.s3), convert_float_rte(v.s4), convert_float_rte(v.s5), convert_float_rte(v.s6), convert_float_rte(v.s7), convert_float_rte(v.s8), convert_float_rte(v.s9), convert_float_rte(v.sA), convert_float_rte(v.sB), convert_float_rte(v.sC), convert_float_rte(v.sD), convert_float_rte(v.sE), convert_float_rte(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtz(float16 v) { - return (float16)(convert_float_rtz(v.s0), convert_float_rtz(v.s1), convert_float_rtz(v.s2), convert_float_rtz(v.s3), convert_float_rtz(v.s4), convert_float_rtz(v.s5), convert_float_rtz(v.s6), convert_float_rtz(v.s7), convert_float_rtz(v.s8), convert_float_rtz(v.s9), convert_float_rtz(v.sA), convert_float_rtz(v.sB), convert_float_rtz(v.sC), convert_float_rtz(v.sD), convert_float_rtz(v.sE), convert_float_rtz(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtp(float16 v) { - return (float16)(convert_float_rtp(v.s0), convert_float_rtp(v.s1), convert_float_rtp(v.s2), convert_float_rtp(v.s3), convert_float_rtp(v.s4), convert_float_rtp(v.s5), convert_float_rtp(v.s6), convert_float_rtp(v.s7), convert_float_rtp(v.s8), convert_float_rtp(v.s9), convert_float_rtp(v.sA), convert_float_rtp(v.sB), convert_float_rtp(v.sC), convert_float_rtp(v.sD), convert_float_rtp(v.sE), convert_float_rtp(v.sF)); -} - -INLINE OVERLOADABLE float16 convert_float16_rtn(float16 v) { - return (float16)(convert_float_rtn(v.s0), convert_float_rtn(v.s1), convert_float_rtn(v.s2), convert_float_rtn(v.s3), convert_float_rtn(v.s4), convert_float_rtn(v.s5), convert_float_rtn(v.s6), convert_float_rtn(v.s7), convert_float_rtn(v.s8), convert_float_rtn(v.s9), convert_float_rtn(v.sA), convert_float_rtn(v.sB), convert_float_rtn(v.sC), convert_float_rtn(v.sD), convert_float_rtn(v.sE), convert_float_rtn(v.sF)); -} - -INLINE_OVERLOADABLE long convert_long_sat_rte(long x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtz(long x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtp(long x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtn(long x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rte(long x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtz(long x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtp(long x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtn(long x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rte(long x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtz(long x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtp(long x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtn(long x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rte(long x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtz(long x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtp(long x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtn(long x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rte(long x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtz(long x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtp(long x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtn(long x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rte(long x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtz(long x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtp(long x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtn(long x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rte(long x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtz(long x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtp(long x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtn(long x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rte(long x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtz(long x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtp(long x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtn(long x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rte(ulong x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtz(ulong x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtp(ulong x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtn(ulong x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rte(ulong x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtz(ulong x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtp(ulong x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtn(ulong x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rte(ulong x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtz(ulong x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtp(ulong x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtn(ulong x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rte(ulong x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtz(ulong x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtp(ulong x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtn(ulong x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rte(ulong x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtz(ulong x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtp(ulong x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtn(ulong x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rte(ulong x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtz(ulong x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtp(ulong x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtn(ulong x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rte(ulong x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtz(ulong x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtp(ulong x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtn(ulong x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rte(ulong x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtz(ulong x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtp(ulong x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtn(ulong x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rte(int x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtz(int x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtp(int x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtn(int x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rte(int x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtz(int x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtp(int x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtn(int x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rte(int x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtz(int x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtp(int x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtn(int x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rte(int x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtz(int x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtp(int x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtn(int x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rte(int x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtz(int x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtp(int x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtn(int x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rte(int x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtz(int x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtp(int x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtn(int x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rte(int x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtz(int x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtp(int x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtn(int x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rte(int x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtz(int x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtp(int x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtn(int x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rte(uint x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtz(uint x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtp(uint x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtn(uint x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rte(uint x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtz(uint x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtp(uint x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtn(uint x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rte(uint x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtz(uint x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtp(uint x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtn(uint x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rte(uint x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtz(uint x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtp(uint x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtn(uint x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rte(uint x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtz(uint x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtp(uint x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtn(uint x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rte(uint x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtz(uint x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtp(uint x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtn(uint x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rte(uint x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtz(uint x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtp(uint x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtn(uint x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rte(uint x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtz(uint x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtp(uint x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtn(uint x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rte(short x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtz(short x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtp(short x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtn(short x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rte(short x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtz(short x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtp(short x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtn(short x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rte(short x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtz(short x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtp(short x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtn(short x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rte(short x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtz(short x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtp(short x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtn(short x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rte(short x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtz(short x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtp(short x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtn(short x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rte(short x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtz(short x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtp(short x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtn(short x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rte(short x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtz(short x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtp(short x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtn(short x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rte(short x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtz(short x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtp(short x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtn(short x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rte(ushort x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtz(ushort x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtp(ushort x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtn(ushort x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rte(ushort x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtz(ushort x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtp(ushort x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtn(ushort x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rte(ushort x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtz(ushort x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtp(ushort x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtn(ushort x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rte(ushort x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtz(ushort x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtp(ushort x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtn(ushort x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rte(ushort x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtz(ushort x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtp(ushort x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtn(ushort x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rte(ushort x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtz(ushort x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtp(ushort x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtn(ushort x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rte(ushort x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtz(ushort x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtp(ushort x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtn(ushort x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rte(ushort x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtz(ushort x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtp(ushort x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtn(ushort x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rte(char x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtz(char x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtp(char x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtn(char x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rte(char x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtz(char x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtp(char x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtn(char x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rte(char x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtz(char x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtp(char x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtn(char x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rte(char x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtz(char x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtp(char x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtn(char x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rte(char x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtz(char x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtp(char x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtn(char x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rte(char x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtz(char x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtp(char x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtn(char x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rte(char x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtz(char x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtp(char x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtn(char x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rte(char x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtz(char x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtp(char x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtn(char x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rte(uchar x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtz(uchar x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtp(uchar x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rtn(uchar x) -{ return convert_long_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rte(uchar x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtz(uchar x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtp(uchar x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtn(uchar x) -{ return convert_ulong_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rte(uchar x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtz(uchar x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtp(uchar x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE int convert_int_sat_rtn(uchar x) -{ return convert_int_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rte(uchar x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtz(uchar x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtp(uchar x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtn(uchar x) -{ return convert_uint_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rte(uchar x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtz(uchar x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtp(uchar x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE short convert_short_sat_rtn(uchar x) -{ return convert_short_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rte(uchar x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtz(uchar x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtp(uchar x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtn(uchar x) -{ return convert_ushort_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rte(uchar x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtz(uchar x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtp(uchar x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE char convert_char_sat_rtn(uchar x) -{ return convert_char_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rte(uchar x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtz(uchar x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtp(uchar x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtn(uchar x) -{ return convert_uchar_sat(x); } -INLINE_OVERLOADABLE long convert_long_sat_rte(float x) -{ return convert_long_sat(__gen_ocl_rnde(x)); } -INLINE_OVERLOADABLE long convert_long_sat_rtz(float x) -{ return convert_long_sat(__gen_ocl_rndz(x)); } -INLINE_OVERLOADABLE long convert_long_sat_rtp(float x) -{ return convert_long_sat(__gen_ocl_rndu(x)); } -INLINE_OVERLOADABLE long convert_long_sat_rtn(float x) -{ return convert_long_sat(__gen_ocl_rndd(x)); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rte(float x) -{ return convert_ulong_sat(__gen_ocl_rnde(x)); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtz(float x) -{ return convert_ulong_sat(__gen_ocl_rndz(x)); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtp(float x) -{ return convert_ulong_sat(__gen_ocl_rndu(x)); } -INLINE_OVERLOADABLE ulong convert_ulong_sat_rtn(float x) -{ return convert_ulong_sat(__gen_ocl_rndd(x)); } -INLINE_OVERLOADABLE int convert_int_sat_rte(float x) -{ return convert_int_sat(__gen_ocl_rnde(x)); } -INLINE_OVERLOADABLE int convert_int_sat_rtz(float x) -{ return convert_int_sat(__gen_ocl_rndz(x)); } -INLINE_OVERLOADABLE int convert_int_sat_rtp(float x) -{ return convert_int_sat(__gen_ocl_rndu(x)); } -INLINE_OVERLOADABLE int convert_int_sat_rtn(float x) -{ return convert_int_sat(__gen_ocl_rndd(x)); } -INLINE_OVERLOADABLE uint convert_uint_sat_rte(float x) -{ return convert_uint_sat(__gen_ocl_rnde(x)); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtz(float x) -{ return convert_uint_sat(__gen_ocl_rndz(x)); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtp(float x) -{ return convert_uint_sat(__gen_ocl_rndu(x)); } -INLINE_OVERLOADABLE uint convert_uint_sat_rtn(float x) -{ return convert_uint_sat(__gen_ocl_rndd(x)); } -INLINE_OVERLOADABLE short convert_short_sat_rte(float x) -{ return convert_short_sat(__gen_ocl_rnde(x)); } -INLINE_OVERLOADABLE short convert_short_sat_rtz(float x) -{ return convert_short_sat(__gen_ocl_rndz(x)); } -INLINE_OVERLOADABLE short convert_short_sat_rtp(float x) -{ return convert_short_sat(__gen_ocl_rndu(x)); } -INLINE_OVERLOADABLE short convert_short_sat_rtn(float x) -{ return convert_short_sat(__gen_ocl_rndd(x)); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rte(float x) -{ return convert_ushort_sat(__gen_ocl_rnde(x)); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtz(float x) -{ return convert_ushort_sat(__gen_ocl_rndz(x)); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtp(float x) -{ return convert_ushort_sat(__gen_ocl_rndu(x)); } -INLINE_OVERLOADABLE ushort convert_ushort_sat_rtn(float x) -{ return convert_ushort_sat(__gen_ocl_rndd(x)); } -INLINE_OVERLOADABLE char convert_char_sat_rte(float x) -{ return convert_char_sat(__gen_ocl_rnde(x)); } -INLINE_OVERLOADABLE char convert_char_sat_rtz(float x) -{ return convert_char_sat(__gen_ocl_rndz(x)); } -INLINE_OVERLOADABLE char convert_char_sat_rtp(float x) -{ return convert_char_sat(__gen_ocl_rndu(x)); } -INLINE_OVERLOADABLE char convert_char_sat_rtn(float x) -{ return convert_char_sat(__gen_ocl_rndd(x)); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rte(float x) -{ return convert_uchar_sat(__gen_ocl_rnde(x)); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtz(float x) -{ return convert_uchar_sat(__gen_ocl_rndz(x)); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtp(float x) -{ return convert_uchar_sat(__gen_ocl_rndu(x)); } -INLINE_OVERLOADABLE uchar convert_uchar_sat_rtn(float x) -{ return convert_uchar_sat(__gen_ocl_rndd(x)); } -INLINE OVERLOADABLE long2 convert_long2_sat_rte(long2 v) { - return (long2)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtz(long2 v) { - return (long2)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtp(long2 v) { - return (long2)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtn(long2 v) { - return (long2)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rte(long2 v) { - return (ulong2)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtz(long2 v) { - return (ulong2)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtp(long2 v) { - return (ulong2)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtn(long2 v) { - return (ulong2)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rte(long2 v) { - return (int2)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtz(long2 v) { - return (int2)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtp(long2 v) { - return (int2)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtn(long2 v) { - return (int2)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rte(long2 v) { - return (uint2)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtz(long2 v) { - return (uint2)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtp(long2 v) { - return (uint2)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtn(long2 v) { - return (uint2)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rte(long2 v) { - return (short2)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtz(long2 v) { - return (short2)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtp(long2 v) { - return (short2)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtn(long2 v) { - return (short2)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rte(long2 v) { - return (ushort2)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtz(long2 v) { - return (ushort2)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtp(long2 v) { - return (ushort2)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtn(long2 v) { - return (ushort2)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rte(long2 v) { - return (char2)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtz(long2 v) { - return (char2)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtp(long2 v) { - return (char2)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtn(long2 v) { - return (char2)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rte(long2 v) { - return (uchar2)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtz(long2 v) { - return (uchar2)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtp(long2 v) { - return (uchar2)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtn(long2 v) { - return (uchar2)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rte(ulong2 v) { - return (long2)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtz(ulong2 v) { - return (long2)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtp(ulong2 v) { - return (long2)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtn(ulong2 v) { - return (long2)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rte(ulong2 v) { - return (ulong2)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtz(ulong2 v) { - return (ulong2)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtp(ulong2 v) { - return (ulong2)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtn(ulong2 v) { - return (ulong2)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rte(ulong2 v) { - return (int2)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtz(ulong2 v) { - return (int2)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtp(ulong2 v) { - return (int2)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtn(ulong2 v) { - return (int2)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rte(ulong2 v) { - return (uint2)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtz(ulong2 v) { - return (uint2)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtp(ulong2 v) { - return (uint2)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtn(ulong2 v) { - return (uint2)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rte(ulong2 v) { - return (short2)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtz(ulong2 v) { - return (short2)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtp(ulong2 v) { - return (short2)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtn(ulong2 v) { - return (short2)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rte(ulong2 v) { - return (ushort2)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtz(ulong2 v) { - return (ushort2)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtp(ulong2 v) { - return (ushort2)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtn(ulong2 v) { - return (ushort2)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rte(ulong2 v) { - return (char2)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtz(ulong2 v) { - return (char2)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtp(ulong2 v) { - return (char2)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtn(ulong2 v) { - return (char2)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rte(ulong2 v) { - return (uchar2)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtz(ulong2 v) { - return (uchar2)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtp(ulong2 v) { - return (uchar2)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtn(ulong2 v) { - return (uchar2)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rte(int2 v) { - return (long2)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtz(int2 v) { - return (long2)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtp(int2 v) { - return (long2)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtn(int2 v) { - return (long2)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rte(int2 v) { - return (ulong2)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtz(int2 v) { - return (ulong2)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtp(int2 v) { - return (ulong2)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtn(int2 v) { - return (ulong2)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rte(int2 v) { - return (int2)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtz(int2 v) { - return (int2)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtp(int2 v) { - return (int2)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtn(int2 v) { - return (int2)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rte(int2 v) { - return (uint2)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtz(int2 v) { - return (uint2)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtp(int2 v) { - return (uint2)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtn(int2 v) { - return (uint2)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rte(int2 v) { - return (short2)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtz(int2 v) { - return (short2)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtp(int2 v) { - return (short2)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtn(int2 v) { - return (short2)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rte(int2 v) { - return (ushort2)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtz(int2 v) { - return (ushort2)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtp(int2 v) { - return (ushort2)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtn(int2 v) { - return (ushort2)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rte(int2 v) { - return (char2)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtz(int2 v) { - return (char2)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtp(int2 v) { - return (char2)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtn(int2 v) { - return (char2)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rte(int2 v) { - return (uchar2)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtz(int2 v) { - return (uchar2)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtp(int2 v) { - return (uchar2)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtn(int2 v) { - return (uchar2)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rte(uint2 v) { - return (long2)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtz(uint2 v) { - return (long2)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtp(uint2 v) { - return (long2)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtn(uint2 v) { - return (long2)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rte(uint2 v) { - return (ulong2)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtz(uint2 v) { - return (ulong2)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtp(uint2 v) { - return (ulong2)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtn(uint2 v) { - return (ulong2)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rte(uint2 v) { - return (int2)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtz(uint2 v) { - return (int2)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtp(uint2 v) { - return (int2)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtn(uint2 v) { - return (int2)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rte(uint2 v) { - return (uint2)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtz(uint2 v) { - return (uint2)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtp(uint2 v) { - return (uint2)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtn(uint2 v) { - return (uint2)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rte(uint2 v) { - return (short2)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtz(uint2 v) { - return (short2)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtp(uint2 v) { - return (short2)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtn(uint2 v) { - return (short2)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rte(uint2 v) { - return (ushort2)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtz(uint2 v) { - return (ushort2)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtp(uint2 v) { - return (ushort2)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtn(uint2 v) { - return (ushort2)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rte(uint2 v) { - return (char2)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtz(uint2 v) { - return (char2)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtp(uint2 v) { - return (char2)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtn(uint2 v) { - return (char2)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rte(uint2 v) { - return (uchar2)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtz(uint2 v) { - return (uchar2)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtp(uint2 v) { - return (uchar2)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtn(uint2 v) { - return (uchar2)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rte(short2 v) { - return (long2)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtz(short2 v) { - return (long2)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtp(short2 v) { - return (long2)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtn(short2 v) { - return (long2)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rte(short2 v) { - return (ulong2)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtz(short2 v) { - return (ulong2)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtp(short2 v) { - return (ulong2)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtn(short2 v) { - return (ulong2)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rte(short2 v) { - return (int2)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtz(short2 v) { - return (int2)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtp(short2 v) { - return (int2)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtn(short2 v) { - return (int2)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rte(short2 v) { - return (uint2)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtz(short2 v) { - return (uint2)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtp(short2 v) { - return (uint2)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtn(short2 v) { - return (uint2)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rte(short2 v) { - return (short2)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtz(short2 v) { - return (short2)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtp(short2 v) { - return (short2)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtn(short2 v) { - return (short2)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rte(short2 v) { - return (ushort2)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtz(short2 v) { - return (ushort2)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtp(short2 v) { - return (ushort2)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtn(short2 v) { - return (ushort2)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rte(short2 v) { - return (char2)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtz(short2 v) { - return (char2)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtp(short2 v) { - return (char2)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtn(short2 v) { - return (char2)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rte(short2 v) { - return (uchar2)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtz(short2 v) { - return (uchar2)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtp(short2 v) { - return (uchar2)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtn(short2 v) { - return (uchar2)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rte(ushort2 v) { - return (long2)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtz(ushort2 v) { - return (long2)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtp(ushort2 v) { - return (long2)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtn(ushort2 v) { - return (long2)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rte(ushort2 v) { - return (ulong2)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtz(ushort2 v) { - return (ulong2)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtp(ushort2 v) { - return (ulong2)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtn(ushort2 v) { - return (ulong2)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rte(ushort2 v) { - return (int2)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtz(ushort2 v) { - return (int2)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtp(ushort2 v) { - return (int2)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtn(ushort2 v) { - return (int2)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rte(ushort2 v) { - return (uint2)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtz(ushort2 v) { - return (uint2)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtp(ushort2 v) { - return (uint2)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtn(ushort2 v) { - return (uint2)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rte(ushort2 v) { - return (short2)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtz(ushort2 v) { - return (short2)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtp(ushort2 v) { - return (short2)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtn(ushort2 v) { - return (short2)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rte(ushort2 v) { - return (ushort2)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtz(ushort2 v) { - return (ushort2)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtp(ushort2 v) { - return (ushort2)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtn(ushort2 v) { - return (ushort2)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rte(ushort2 v) { - return (char2)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtz(ushort2 v) { - return (char2)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtp(ushort2 v) { - return (char2)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtn(ushort2 v) { - return (char2)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rte(ushort2 v) { - return (uchar2)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtz(ushort2 v) { - return (uchar2)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtp(ushort2 v) { - return (uchar2)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtn(ushort2 v) { - return (uchar2)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rte(char2 v) { - return (long2)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtz(char2 v) { - return (long2)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtp(char2 v) { - return (long2)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtn(char2 v) { - return (long2)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rte(char2 v) { - return (ulong2)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtz(char2 v) { - return (ulong2)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtp(char2 v) { - return (ulong2)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtn(char2 v) { - return (ulong2)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rte(char2 v) { - return (int2)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtz(char2 v) { - return (int2)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtp(char2 v) { - return (int2)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtn(char2 v) { - return (int2)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rte(char2 v) { - return (uint2)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtz(char2 v) { - return (uint2)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtp(char2 v) { - return (uint2)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtn(char2 v) { - return (uint2)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rte(char2 v) { - return (short2)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtz(char2 v) { - return (short2)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtp(char2 v) { - return (short2)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtn(char2 v) { - return (short2)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rte(char2 v) { - return (ushort2)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtz(char2 v) { - return (ushort2)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtp(char2 v) { - return (ushort2)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtn(char2 v) { - return (ushort2)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rte(char2 v) { - return (char2)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtz(char2 v) { - return (char2)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtp(char2 v) { - return (char2)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtn(char2 v) { - return (char2)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rte(char2 v) { - return (uchar2)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtz(char2 v) { - return (uchar2)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtp(char2 v) { - return (uchar2)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtn(char2 v) { - return (uchar2)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rte(uchar2 v) { - return (long2)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtz(uchar2 v) { - return (long2)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtp(uchar2 v) { - return (long2)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtn(uchar2 v) { - return (long2)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rte(uchar2 v) { - return (ulong2)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtz(uchar2 v) { - return (ulong2)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtp(uchar2 v) { - return (ulong2)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtn(uchar2 v) { - return (ulong2)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rte(uchar2 v) { - return (int2)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtz(uchar2 v) { - return (int2)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtp(uchar2 v) { - return (int2)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtn(uchar2 v) { - return (int2)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rte(uchar2 v) { - return (uint2)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtz(uchar2 v) { - return (uint2)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtp(uchar2 v) { - return (uint2)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtn(uchar2 v) { - return (uint2)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rte(uchar2 v) { - return (short2)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtz(uchar2 v) { - return (short2)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtp(uchar2 v) { - return (short2)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtn(uchar2 v) { - return (short2)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rte(uchar2 v) { - return (ushort2)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtz(uchar2 v) { - return (ushort2)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtp(uchar2 v) { - return (ushort2)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtn(uchar2 v) { - return (ushort2)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rte(uchar2 v) { - return (char2)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtz(uchar2 v) { - return (char2)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtp(uchar2 v) { - return (char2)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtn(uchar2 v) { - return (char2)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rte(uchar2 v) { - return (uchar2)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtz(uchar2 v) { - return (uchar2)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtp(uchar2 v) { - return (uchar2)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtn(uchar2 v) { - return (uchar2)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rte(float2 v) { - return (long2)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtz(float2 v) { - return (long2)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtp(float2 v) { - return (long2)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE long2 convert_long2_sat_rtn(float2 v) { - return (long2)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rte(float2 v) { - return (ulong2)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtz(float2 v) { - return (ulong2)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtp(float2 v) { - return (ulong2)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ulong2 convert_ulong2_sat_rtn(float2 v) { - return (ulong2)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rte(float2 v) { - return (int2)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtz(float2 v) { - return (int2)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtp(float2 v) { - return (int2)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE int2 convert_int2_sat_rtn(float2 v) { - return (int2)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rte(float2 v) { - return (uint2)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtz(float2 v) { - return (uint2)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtp(float2 v) { - return (uint2)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uint2 convert_uint2_sat_rtn(float2 v) { - return (uint2)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rte(float2 v) { - return (short2)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtz(float2 v) { - return (short2)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtp(float2 v) { - return (short2)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE short2 convert_short2_sat_rtn(float2 v) { - return (short2)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rte(float2 v) { - return (ushort2)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtz(float2 v) { - return (ushort2)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtp(float2 v) { - return (ushort2)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE ushort2 convert_ushort2_sat_rtn(float2 v) { - return (ushort2)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rte(float2 v) { - return (char2)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtz(float2 v) { - return (char2)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtp(float2 v) { - return (char2)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE char2 convert_char2_sat_rtn(float2 v) { - return (char2)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rte(float2 v) { - return (uchar2)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtz(float2 v) { - return (uchar2)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtp(float2 v) { - return (uchar2)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1)); -} - -INLINE OVERLOADABLE uchar2 convert_uchar2_sat_rtn(float2 v) { - return (uchar2)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rte(long3 v) { - return (long3)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtz(long3 v) { - return (long3)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtp(long3 v) { - return (long3)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtn(long3 v) { - return (long3)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rte(long3 v) { - return (ulong3)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtz(long3 v) { - return (ulong3)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtp(long3 v) { - return (ulong3)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtn(long3 v) { - return (ulong3)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rte(long3 v) { - return (int3)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtz(long3 v) { - return (int3)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtp(long3 v) { - return (int3)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtn(long3 v) { - return (int3)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rte(long3 v) { - return (uint3)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtz(long3 v) { - return (uint3)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtp(long3 v) { - return (uint3)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtn(long3 v) { - return (uint3)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rte(long3 v) { - return (short3)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtz(long3 v) { - return (short3)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtp(long3 v) { - return (short3)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtn(long3 v) { - return (short3)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rte(long3 v) { - return (ushort3)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtz(long3 v) { - return (ushort3)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtp(long3 v) { - return (ushort3)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtn(long3 v) { - return (ushort3)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rte(long3 v) { - return (char3)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtz(long3 v) { - return (char3)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtp(long3 v) { - return (char3)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtn(long3 v) { - return (char3)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rte(long3 v) { - return (uchar3)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtz(long3 v) { - return (uchar3)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtp(long3 v) { - return (uchar3)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtn(long3 v) { - return (uchar3)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rte(ulong3 v) { - return (long3)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtz(ulong3 v) { - return (long3)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtp(ulong3 v) { - return (long3)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtn(ulong3 v) { - return (long3)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rte(ulong3 v) { - return (ulong3)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtz(ulong3 v) { - return (ulong3)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtp(ulong3 v) { - return (ulong3)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtn(ulong3 v) { - return (ulong3)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rte(ulong3 v) { - return (int3)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtz(ulong3 v) { - return (int3)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtp(ulong3 v) { - return (int3)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtn(ulong3 v) { - return (int3)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rte(ulong3 v) { - return (uint3)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtz(ulong3 v) { - return (uint3)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtp(ulong3 v) { - return (uint3)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtn(ulong3 v) { - return (uint3)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rte(ulong3 v) { - return (short3)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtz(ulong3 v) { - return (short3)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtp(ulong3 v) { - return (short3)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtn(ulong3 v) { - return (short3)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rte(ulong3 v) { - return (ushort3)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtz(ulong3 v) { - return (ushort3)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtp(ulong3 v) { - return (ushort3)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtn(ulong3 v) { - return (ushort3)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rte(ulong3 v) { - return (char3)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtz(ulong3 v) { - return (char3)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtp(ulong3 v) { - return (char3)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtn(ulong3 v) { - return (char3)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rte(ulong3 v) { - return (uchar3)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtz(ulong3 v) { - return (uchar3)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtp(ulong3 v) { - return (uchar3)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtn(ulong3 v) { - return (uchar3)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rte(int3 v) { - return (long3)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtz(int3 v) { - return (long3)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtp(int3 v) { - return (long3)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtn(int3 v) { - return (long3)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rte(int3 v) { - return (ulong3)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtz(int3 v) { - return (ulong3)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtp(int3 v) { - return (ulong3)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtn(int3 v) { - return (ulong3)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rte(int3 v) { - return (int3)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtz(int3 v) { - return (int3)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtp(int3 v) { - return (int3)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtn(int3 v) { - return (int3)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rte(int3 v) { - return (uint3)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtz(int3 v) { - return (uint3)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtp(int3 v) { - return (uint3)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtn(int3 v) { - return (uint3)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rte(int3 v) { - return (short3)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtz(int3 v) { - return (short3)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtp(int3 v) { - return (short3)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtn(int3 v) { - return (short3)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rte(int3 v) { - return (ushort3)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtz(int3 v) { - return (ushort3)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtp(int3 v) { - return (ushort3)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtn(int3 v) { - return (ushort3)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rte(int3 v) { - return (char3)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtz(int3 v) { - return (char3)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtp(int3 v) { - return (char3)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtn(int3 v) { - return (char3)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rte(int3 v) { - return (uchar3)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtz(int3 v) { - return (uchar3)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtp(int3 v) { - return (uchar3)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtn(int3 v) { - return (uchar3)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rte(uint3 v) { - return (long3)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtz(uint3 v) { - return (long3)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtp(uint3 v) { - return (long3)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtn(uint3 v) { - return (long3)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rte(uint3 v) { - return (ulong3)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtz(uint3 v) { - return (ulong3)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtp(uint3 v) { - return (ulong3)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtn(uint3 v) { - return (ulong3)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rte(uint3 v) { - return (int3)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtz(uint3 v) { - return (int3)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtp(uint3 v) { - return (int3)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtn(uint3 v) { - return (int3)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rte(uint3 v) { - return (uint3)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtz(uint3 v) { - return (uint3)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtp(uint3 v) { - return (uint3)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtn(uint3 v) { - return (uint3)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rte(uint3 v) { - return (short3)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtz(uint3 v) { - return (short3)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtp(uint3 v) { - return (short3)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtn(uint3 v) { - return (short3)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rte(uint3 v) { - return (ushort3)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtz(uint3 v) { - return (ushort3)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtp(uint3 v) { - return (ushort3)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtn(uint3 v) { - return (ushort3)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rte(uint3 v) { - return (char3)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtz(uint3 v) { - return (char3)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtp(uint3 v) { - return (char3)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtn(uint3 v) { - return (char3)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rte(uint3 v) { - return (uchar3)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtz(uint3 v) { - return (uchar3)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtp(uint3 v) { - return (uchar3)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtn(uint3 v) { - return (uchar3)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rte(short3 v) { - return (long3)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtz(short3 v) { - return (long3)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtp(short3 v) { - return (long3)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtn(short3 v) { - return (long3)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rte(short3 v) { - return (ulong3)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtz(short3 v) { - return (ulong3)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtp(short3 v) { - return (ulong3)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtn(short3 v) { - return (ulong3)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rte(short3 v) { - return (int3)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtz(short3 v) { - return (int3)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtp(short3 v) { - return (int3)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtn(short3 v) { - return (int3)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rte(short3 v) { - return (uint3)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtz(short3 v) { - return (uint3)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtp(short3 v) { - return (uint3)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtn(short3 v) { - return (uint3)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rte(short3 v) { - return (short3)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtz(short3 v) { - return (short3)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtp(short3 v) { - return (short3)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtn(short3 v) { - return (short3)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rte(short3 v) { - return (ushort3)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtz(short3 v) { - return (ushort3)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtp(short3 v) { - return (ushort3)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtn(short3 v) { - return (ushort3)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rte(short3 v) { - return (char3)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtz(short3 v) { - return (char3)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtp(short3 v) { - return (char3)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtn(short3 v) { - return (char3)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rte(short3 v) { - return (uchar3)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtz(short3 v) { - return (uchar3)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtp(short3 v) { - return (uchar3)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtn(short3 v) { - return (uchar3)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rte(ushort3 v) { - return (long3)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtz(ushort3 v) { - return (long3)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtp(ushort3 v) { - return (long3)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtn(ushort3 v) { - return (long3)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rte(ushort3 v) { - return (ulong3)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtz(ushort3 v) { - return (ulong3)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtp(ushort3 v) { - return (ulong3)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtn(ushort3 v) { - return (ulong3)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rte(ushort3 v) { - return (int3)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtz(ushort3 v) { - return (int3)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtp(ushort3 v) { - return (int3)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtn(ushort3 v) { - return (int3)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rte(ushort3 v) { - return (uint3)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtz(ushort3 v) { - return (uint3)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtp(ushort3 v) { - return (uint3)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtn(ushort3 v) { - return (uint3)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rte(ushort3 v) { - return (short3)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtz(ushort3 v) { - return (short3)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtp(ushort3 v) { - return (short3)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtn(ushort3 v) { - return (short3)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rte(ushort3 v) { - return (ushort3)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtz(ushort3 v) { - return (ushort3)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtp(ushort3 v) { - return (ushort3)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtn(ushort3 v) { - return (ushort3)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rte(ushort3 v) { - return (char3)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtz(ushort3 v) { - return (char3)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtp(ushort3 v) { - return (char3)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtn(ushort3 v) { - return (char3)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rte(ushort3 v) { - return (uchar3)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtz(ushort3 v) { - return (uchar3)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtp(ushort3 v) { - return (uchar3)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtn(ushort3 v) { - return (uchar3)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rte(char3 v) { - return (long3)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtz(char3 v) { - return (long3)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtp(char3 v) { - return (long3)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtn(char3 v) { - return (long3)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rte(char3 v) { - return (ulong3)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtz(char3 v) { - return (ulong3)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtp(char3 v) { - return (ulong3)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtn(char3 v) { - return (ulong3)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rte(char3 v) { - return (int3)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtz(char3 v) { - return (int3)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtp(char3 v) { - return (int3)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtn(char3 v) { - return (int3)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rte(char3 v) { - return (uint3)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtz(char3 v) { - return (uint3)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtp(char3 v) { - return (uint3)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtn(char3 v) { - return (uint3)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rte(char3 v) { - return (short3)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtz(char3 v) { - return (short3)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtp(char3 v) { - return (short3)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtn(char3 v) { - return (short3)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rte(char3 v) { - return (ushort3)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtz(char3 v) { - return (ushort3)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtp(char3 v) { - return (ushort3)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtn(char3 v) { - return (ushort3)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rte(char3 v) { - return (char3)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtz(char3 v) { - return (char3)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtp(char3 v) { - return (char3)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtn(char3 v) { - return (char3)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rte(char3 v) { - return (uchar3)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtz(char3 v) { - return (uchar3)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtp(char3 v) { - return (uchar3)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtn(char3 v) { - return (uchar3)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rte(uchar3 v) { - return (long3)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtz(uchar3 v) { - return (long3)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtp(uchar3 v) { - return (long3)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtn(uchar3 v) { - return (long3)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rte(uchar3 v) { - return (ulong3)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtz(uchar3 v) { - return (ulong3)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtp(uchar3 v) { - return (ulong3)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtn(uchar3 v) { - return (ulong3)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rte(uchar3 v) { - return (int3)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtz(uchar3 v) { - return (int3)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtp(uchar3 v) { - return (int3)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtn(uchar3 v) { - return (int3)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rte(uchar3 v) { - return (uint3)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtz(uchar3 v) { - return (uint3)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtp(uchar3 v) { - return (uint3)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtn(uchar3 v) { - return (uint3)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rte(uchar3 v) { - return (short3)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtz(uchar3 v) { - return (short3)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtp(uchar3 v) { - return (short3)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtn(uchar3 v) { - return (short3)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rte(uchar3 v) { - return (ushort3)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtz(uchar3 v) { - return (ushort3)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtp(uchar3 v) { - return (ushort3)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtn(uchar3 v) { - return (ushort3)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rte(uchar3 v) { - return (char3)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtz(uchar3 v) { - return (char3)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtp(uchar3 v) { - return (char3)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtn(uchar3 v) { - return (char3)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rte(uchar3 v) { - return (uchar3)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtz(uchar3 v) { - return (uchar3)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtp(uchar3 v) { - return (uchar3)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtn(uchar3 v) { - return (uchar3)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rte(float3 v) { - return (long3)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtz(float3 v) { - return (long3)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtp(float3 v) { - return (long3)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE long3 convert_long3_sat_rtn(float3 v) { - return (long3)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rte(float3 v) { - return (ulong3)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtz(float3 v) { - return (ulong3)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtp(float3 v) { - return (ulong3)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ulong3 convert_ulong3_sat_rtn(float3 v) { - return (ulong3)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rte(float3 v) { - return (int3)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtz(float3 v) { - return (int3)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtp(float3 v) { - return (int3)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE int3 convert_int3_sat_rtn(float3 v) { - return (int3)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rte(float3 v) { - return (uint3)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtz(float3 v) { - return (uint3)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtp(float3 v) { - return (uint3)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uint3 convert_uint3_sat_rtn(float3 v) { - return (uint3)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rte(float3 v) { - return (short3)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtz(float3 v) { - return (short3)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtp(float3 v) { - return (short3)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE short3 convert_short3_sat_rtn(float3 v) { - return (short3)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rte(float3 v) { - return (ushort3)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtz(float3 v) { - return (ushort3)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtp(float3 v) { - return (ushort3)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE ushort3 convert_ushort3_sat_rtn(float3 v) { - return (ushort3)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rte(float3 v) { - return (char3)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtz(float3 v) { - return (char3)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtp(float3 v) { - return (char3)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE char3 convert_char3_sat_rtn(float3 v) { - return (char3)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rte(float3 v) { - return (uchar3)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtz(float3 v) { - return (uchar3)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtp(float3 v) { - return (uchar3)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2)); -} - -INLINE OVERLOADABLE uchar3 convert_uchar3_sat_rtn(float3 v) { - return (uchar3)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rte(long4 v) { - return (long4)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtz(long4 v) { - return (long4)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtp(long4 v) { - return (long4)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtn(long4 v) { - return (long4)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rte(long4 v) { - return (ulong4)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtz(long4 v) { - return (ulong4)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtp(long4 v) { - return (ulong4)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtn(long4 v) { - return (ulong4)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rte(long4 v) { - return (int4)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtz(long4 v) { - return (int4)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtp(long4 v) { - return (int4)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtn(long4 v) { - return (int4)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rte(long4 v) { - return (uint4)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtz(long4 v) { - return (uint4)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtp(long4 v) { - return (uint4)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtn(long4 v) { - return (uint4)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rte(long4 v) { - return (short4)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtz(long4 v) { - return (short4)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtp(long4 v) { - return (short4)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtn(long4 v) { - return (short4)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rte(long4 v) { - return (ushort4)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtz(long4 v) { - return (ushort4)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtp(long4 v) { - return (ushort4)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtn(long4 v) { - return (ushort4)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rte(long4 v) { - return (char4)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtz(long4 v) { - return (char4)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtp(long4 v) { - return (char4)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtn(long4 v) { - return (char4)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rte(long4 v) { - return (uchar4)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtz(long4 v) { - return (uchar4)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtp(long4 v) { - return (uchar4)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtn(long4 v) { - return (uchar4)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rte(ulong4 v) { - return (long4)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtz(ulong4 v) { - return (long4)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtp(ulong4 v) { - return (long4)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtn(ulong4 v) { - return (long4)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rte(ulong4 v) { - return (ulong4)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtz(ulong4 v) { - return (ulong4)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtp(ulong4 v) { - return (ulong4)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtn(ulong4 v) { - return (ulong4)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rte(ulong4 v) { - return (int4)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtz(ulong4 v) { - return (int4)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtp(ulong4 v) { - return (int4)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtn(ulong4 v) { - return (int4)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rte(ulong4 v) { - return (uint4)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtz(ulong4 v) { - return (uint4)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtp(ulong4 v) { - return (uint4)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtn(ulong4 v) { - return (uint4)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rte(ulong4 v) { - return (short4)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtz(ulong4 v) { - return (short4)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtp(ulong4 v) { - return (short4)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtn(ulong4 v) { - return (short4)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rte(ulong4 v) { - return (ushort4)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtz(ulong4 v) { - return (ushort4)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtp(ulong4 v) { - return (ushort4)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtn(ulong4 v) { - return (ushort4)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rte(ulong4 v) { - return (char4)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtz(ulong4 v) { - return (char4)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtp(ulong4 v) { - return (char4)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtn(ulong4 v) { - return (char4)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rte(ulong4 v) { - return (uchar4)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtz(ulong4 v) { - return (uchar4)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtp(ulong4 v) { - return (uchar4)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtn(ulong4 v) { - return (uchar4)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rte(int4 v) { - return (long4)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtz(int4 v) { - return (long4)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtp(int4 v) { - return (long4)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtn(int4 v) { - return (long4)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rte(int4 v) { - return (ulong4)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtz(int4 v) { - return (ulong4)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtp(int4 v) { - return (ulong4)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtn(int4 v) { - return (ulong4)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rte(int4 v) { - return (int4)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtz(int4 v) { - return (int4)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtp(int4 v) { - return (int4)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtn(int4 v) { - return (int4)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rte(int4 v) { - return (uint4)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtz(int4 v) { - return (uint4)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtp(int4 v) { - return (uint4)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtn(int4 v) { - return (uint4)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rte(int4 v) { - return (short4)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtz(int4 v) { - return (short4)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtp(int4 v) { - return (short4)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtn(int4 v) { - return (short4)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rte(int4 v) { - return (ushort4)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtz(int4 v) { - return (ushort4)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtp(int4 v) { - return (ushort4)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtn(int4 v) { - return (ushort4)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rte(int4 v) { - return (char4)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtz(int4 v) { - return (char4)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtp(int4 v) { - return (char4)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtn(int4 v) { - return (char4)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rte(int4 v) { - return (uchar4)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtz(int4 v) { - return (uchar4)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtp(int4 v) { - return (uchar4)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtn(int4 v) { - return (uchar4)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rte(uint4 v) { - return (long4)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtz(uint4 v) { - return (long4)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtp(uint4 v) { - return (long4)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtn(uint4 v) { - return (long4)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rte(uint4 v) { - return (ulong4)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtz(uint4 v) { - return (ulong4)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtp(uint4 v) { - return (ulong4)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtn(uint4 v) { - return (ulong4)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rte(uint4 v) { - return (int4)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtz(uint4 v) { - return (int4)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtp(uint4 v) { - return (int4)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtn(uint4 v) { - return (int4)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rte(uint4 v) { - return (uint4)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtz(uint4 v) { - return (uint4)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtp(uint4 v) { - return (uint4)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtn(uint4 v) { - return (uint4)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rte(uint4 v) { - return (short4)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtz(uint4 v) { - return (short4)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtp(uint4 v) { - return (short4)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtn(uint4 v) { - return (short4)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rte(uint4 v) { - return (ushort4)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtz(uint4 v) { - return (ushort4)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtp(uint4 v) { - return (ushort4)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtn(uint4 v) { - return (ushort4)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rte(uint4 v) { - return (char4)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtz(uint4 v) { - return (char4)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtp(uint4 v) { - return (char4)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtn(uint4 v) { - return (char4)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rte(uint4 v) { - return (uchar4)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtz(uint4 v) { - return (uchar4)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtp(uint4 v) { - return (uchar4)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtn(uint4 v) { - return (uchar4)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rte(short4 v) { - return (long4)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtz(short4 v) { - return (long4)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtp(short4 v) { - return (long4)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtn(short4 v) { - return (long4)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rte(short4 v) { - return (ulong4)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtz(short4 v) { - return (ulong4)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtp(short4 v) { - return (ulong4)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtn(short4 v) { - return (ulong4)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rte(short4 v) { - return (int4)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtz(short4 v) { - return (int4)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtp(short4 v) { - return (int4)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtn(short4 v) { - return (int4)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rte(short4 v) { - return (uint4)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtz(short4 v) { - return (uint4)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtp(short4 v) { - return (uint4)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtn(short4 v) { - return (uint4)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rte(short4 v) { - return (short4)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtz(short4 v) { - return (short4)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtp(short4 v) { - return (short4)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtn(short4 v) { - return (short4)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rte(short4 v) { - return (ushort4)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtz(short4 v) { - return (ushort4)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtp(short4 v) { - return (ushort4)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtn(short4 v) { - return (ushort4)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rte(short4 v) { - return (char4)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtz(short4 v) { - return (char4)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtp(short4 v) { - return (char4)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtn(short4 v) { - return (char4)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rte(short4 v) { - return (uchar4)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtz(short4 v) { - return (uchar4)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtp(short4 v) { - return (uchar4)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtn(short4 v) { - return (uchar4)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rte(ushort4 v) { - return (long4)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtz(ushort4 v) { - return (long4)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtp(ushort4 v) { - return (long4)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtn(ushort4 v) { - return (long4)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rte(ushort4 v) { - return (ulong4)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtz(ushort4 v) { - return (ulong4)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtp(ushort4 v) { - return (ulong4)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtn(ushort4 v) { - return (ulong4)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rte(ushort4 v) { - return (int4)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtz(ushort4 v) { - return (int4)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtp(ushort4 v) { - return (int4)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtn(ushort4 v) { - return (int4)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rte(ushort4 v) { - return (uint4)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtz(ushort4 v) { - return (uint4)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtp(ushort4 v) { - return (uint4)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtn(ushort4 v) { - return (uint4)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rte(ushort4 v) { - return (short4)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtz(ushort4 v) { - return (short4)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtp(ushort4 v) { - return (short4)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtn(ushort4 v) { - return (short4)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rte(ushort4 v) { - return (ushort4)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtz(ushort4 v) { - return (ushort4)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtp(ushort4 v) { - return (ushort4)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtn(ushort4 v) { - return (ushort4)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rte(ushort4 v) { - return (char4)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtz(ushort4 v) { - return (char4)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtp(ushort4 v) { - return (char4)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtn(ushort4 v) { - return (char4)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rte(ushort4 v) { - return (uchar4)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtz(ushort4 v) { - return (uchar4)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtp(ushort4 v) { - return (uchar4)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtn(ushort4 v) { - return (uchar4)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rte(char4 v) { - return (long4)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtz(char4 v) { - return (long4)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtp(char4 v) { - return (long4)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtn(char4 v) { - return (long4)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rte(char4 v) { - return (ulong4)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtz(char4 v) { - return (ulong4)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtp(char4 v) { - return (ulong4)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtn(char4 v) { - return (ulong4)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rte(char4 v) { - return (int4)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtz(char4 v) { - return (int4)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtp(char4 v) { - return (int4)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtn(char4 v) { - return (int4)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rte(char4 v) { - return (uint4)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtz(char4 v) { - return (uint4)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtp(char4 v) { - return (uint4)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtn(char4 v) { - return (uint4)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rte(char4 v) { - return (short4)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtz(char4 v) { - return (short4)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtp(char4 v) { - return (short4)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtn(char4 v) { - return (short4)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rte(char4 v) { - return (ushort4)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtz(char4 v) { - return (ushort4)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtp(char4 v) { - return (ushort4)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtn(char4 v) { - return (ushort4)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rte(char4 v) { - return (char4)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtz(char4 v) { - return (char4)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtp(char4 v) { - return (char4)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtn(char4 v) { - return (char4)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rte(char4 v) { - return (uchar4)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtz(char4 v) { - return (uchar4)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtp(char4 v) { - return (uchar4)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtn(char4 v) { - return (uchar4)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rte(uchar4 v) { - return (long4)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtz(uchar4 v) { - return (long4)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtp(uchar4 v) { - return (long4)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtn(uchar4 v) { - return (long4)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rte(uchar4 v) { - return (ulong4)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtz(uchar4 v) { - return (ulong4)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtp(uchar4 v) { - return (ulong4)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtn(uchar4 v) { - return (ulong4)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rte(uchar4 v) { - return (int4)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtz(uchar4 v) { - return (int4)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtp(uchar4 v) { - return (int4)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtn(uchar4 v) { - return (int4)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rte(uchar4 v) { - return (uint4)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtz(uchar4 v) { - return (uint4)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtp(uchar4 v) { - return (uint4)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtn(uchar4 v) { - return (uint4)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rte(uchar4 v) { - return (short4)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtz(uchar4 v) { - return (short4)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtp(uchar4 v) { - return (short4)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtn(uchar4 v) { - return (short4)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rte(uchar4 v) { - return (ushort4)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtz(uchar4 v) { - return (ushort4)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtp(uchar4 v) { - return (ushort4)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtn(uchar4 v) { - return (ushort4)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rte(uchar4 v) { - return (char4)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtz(uchar4 v) { - return (char4)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtp(uchar4 v) { - return (char4)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtn(uchar4 v) { - return (char4)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rte(uchar4 v) { - return (uchar4)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtz(uchar4 v) { - return (uchar4)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtp(uchar4 v) { - return (uchar4)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtn(uchar4 v) { - return (uchar4)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rte(float4 v) { - return (long4)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtz(float4 v) { - return (long4)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtp(float4 v) { - return (long4)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE long4 convert_long4_sat_rtn(float4 v) { - return (long4)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rte(float4 v) { - return (ulong4)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtz(float4 v) { - return (ulong4)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtp(float4 v) { - return (ulong4)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ulong4 convert_ulong4_sat_rtn(float4 v) { - return (ulong4)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rte(float4 v) { - return (int4)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtz(float4 v) { - return (int4)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtp(float4 v) { - return (int4)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE int4 convert_int4_sat_rtn(float4 v) { - return (int4)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rte(float4 v) { - return (uint4)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtz(float4 v) { - return (uint4)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtp(float4 v) { - return (uint4)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uint4 convert_uint4_sat_rtn(float4 v) { - return (uint4)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rte(float4 v) { - return (short4)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtz(float4 v) { - return (short4)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtp(float4 v) { - return (short4)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE short4 convert_short4_sat_rtn(float4 v) { - return (short4)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rte(float4 v) { - return (ushort4)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtz(float4 v) { - return (ushort4)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtp(float4 v) { - return (ushort4)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE ushort4 convert_ushort4_sat_rtn(float4 v) { - return (ushort4)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rte(float4 v) { - return (char4)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtz(float4 v) { - return (char4)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtp(float4 v) { - return (char4)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE char4 convert_char4_sat_rtn(float4 v) { - return (char4)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rte(float4 v) { - return (uchar4)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtz(float4 v) { - return (uchar4)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtp(float4 v) { - return (uchar4)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3)); -} - -INLINE OVERLOADABLE uchar4 convert_uchar4_sat_rtn(float4 v) { - return (uchar4)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rte(long8 v) { - return (long8)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtz(long8 v) { - return (long8)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtp(long8 v) { - return (long8)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtn(long8 v) { - return (long8)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rte(long8 v) { - return (ulong8)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtz(long8 v) { - return (ulong8)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtp(long8 v) { - return (ulong8)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtn(long8 v) { - return (ulong8)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rte(long8 v) { - return (int8)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtz(long8 v) { - return (int8)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtp(long8 v) { - return (int8)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtn(long8 v) { - return (int8)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rte(long8 v) { - return (uint8)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtz(long8 v) { - return (uint8)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtp(long8 v) { - return (uint8)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtn(long8 v) { - return (uint8)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rte(long8 v) { - return (short8)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtz(long8 v) { - return (short8)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtp(long8 v) { - return (short8)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtn(long8 v) { - return (short8)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rte(long8 v) { - return (ushort8)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtz(long8 v) { - return (ushort8)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtp(long8 v) { - return (ushort8)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtn(long8 v) { - return (ushort8)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rte(long8 v) { - return (char8)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtz(long8 v) { - return (char8)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtp(long8 v) { - return (char8)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtn(long8 v) { - return (char8)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rte(long8 v) { - return (uchar8)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtz(long8 v) { - return (uchar8)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtp(long8 v) { - return (uchar8)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtn(long8 v) { - return (uchar8)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rte(ulong8 v) { - return (long8)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtz(ulong8 v) { - return (long8)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtp(ulong8 v) { - return (long8)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtn(ulong8 v) { - return (long8)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rte(ulong8 v) { - return (ulong8)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtz(ulong8 v) { - return (ulong8)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtp(ulong8 v) { - return (ulong8)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtn(ulong8 v) { - return (ulong8)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rte(ulong8 v) { - return (int8)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtz(ulong8 v) { - return (int8)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtp(ulong8 v) { - return (int8)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtn(ulong8 v) { - return (int8)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rte(ulong8 v) { - return (uint8)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtz(ulong8 v) { - return (uint8)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtp(ulong8 v) { - return (uint8)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtn(ulong8 v) { - return (uint8)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rte(ulong8 v) { - return (short8)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtz(ulong8 v) { - return (short8)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtp(ulong8 v) { - return (short8)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtn(ulong8 v) { - return (short8)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rte(ulong8 v) { - return (ushort8)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtz(ulong8 v) { - return (ushort8)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtp(ulong8 v) { - return (ushort8)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtn(ulong8 v) { - return (ushort8)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rte(ulong8 v) { - return (char8)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtz(ulong8 v) { - return (char8)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtp(ulong8 v) { - return (char8)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtn(ulong8 v) { - return (char8)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rte(ulong8 v) { - return (uchar8)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtz(ulong8 v) { - return (uchar8)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtp(ulong8 v) { - return (uchar8)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtn(ulong8 v) { - return (uchar8)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rte(int8 v) { - return (long8)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtz(int8 v) { - return (long8)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtp(int8 v) { - return (long8)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtn(int8 v) { - return (long8)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rte(int8 v) { - return (ulong8)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtz(int8 v) { - return (ulong8)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtp(int8 v) { - return (ulong8)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtn(int8 v) { - return (ulong8)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rte(int8 v) { - return (int8)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtz(int8 v) { - return (int8)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtp(int8 v) { - return (int8)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtn(int8 v) { - return (int8)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rte(int8 v) { - return (uint8)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtz(int8 v) { - return (uint8)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtp(int8 v) { - return (uint8)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtn(int8 v) { - return (uint8)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rte(int8 v) { - return (short8)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtz(int8 v) { - return (short8)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtp(int8 v) { - return (short8)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtn(int8 v) { - return (short8)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rte(int8 v) { - return (ushort8)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtz(int8 v) { - return (ushort8)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtp(int8 v) { - return (ushort8)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtn(int8 v) { - return (ushort8)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rte(int8 v) { - return (char8)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtz(int8 v) { - return (char8)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtp(int8 v) { - return (char8)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtn(int8 v) { - return (char8)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rte(int8 v) { - return (uchar8)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtz(int8 v) { - return (uchar8)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtp(int8 v) { - return (uchar8)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtn(int8 v) { - return (uchar8)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rte(uint8 v) { - return (long8)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtz(uint8 v) { - return (long8)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtp(uint8 v) { - return (long8)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtn(uint8 v) { - return (long8)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rte(uint8 v) { - return (ulong8)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtz(uint8 v) { - return (ulong8)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtp(uint8 v) { - return (ulong8)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtn(uint8 v) { - return (ulong8)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rte(uint8 v) { - return (int8)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtz(uint8 v) { - return (int8)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtp(uint8 v) { - return (int8)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtn(uint8 v) { - return (int8)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rte(uint8 v) { - return (uint8)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtz(uint8 v) { - return (uint8)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtp(uint8 v) { - return (uint8)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtn(uint8 v) { - return (uint8)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rte(uint8 v) { - return (short8)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtz(uint8 v) { - return (short8)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtp(uint8 v) { - return (short8)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtn(uint8 v) { - return (short8)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rte(uint8 v) { - return (ushort8)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtz(uint8 v) { - return (ushort8)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtp(uint8 v) { - return (ushort8)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtn(uint8 v) { - return (ushort8)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rte(uint8 v) { - return (char8)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtz(uint8 v) { - return (char8)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtp(uint8 v) { - return (char8)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtn(uint8 v) { - return (char8)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rte(uint8 v) { - return (uchar8)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtz(uint8 v) { - return (uchar8)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtp(uint8 v) { - return (uchar8)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtn(uint8 v) { - return (uchar8)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rte(short8 v) { - return (long8)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtz(short8 v) { - return (long8)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtp(short8 v) { - return (long8)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtn(short8 v) { - return (long8)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rte(short8 v) { - return (ulong8)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtz(short8 v) { - return (ulong8)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtp(short8 v) { - return (ulong8)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtn(short8 v) { - return (ulong8)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rte(short8 v) { - return (int8)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtz(short8 v) { - return (int8)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtp(short8 v) { - return (int8)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtn(short8 v) { - return (int8)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rte(short8 v) { - return (uint8)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtz(short8 v) { - return (uint8)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtp(short8 v) { - return (uint8)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtn(short8 v) { - return (uint8)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rte(short8 v) { - return (short8)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtz(short8 v) { - return (short8)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtp(short8 v) { - return (short8)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtn(short8 v) { - return (short8)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rte(short8 v) { - return (ushort8)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtz(short8 v) { - return (ushort8)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtp(short8 v) { - return (ushort8)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtn(short8 v) { - return (ushort8)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rte(short8 v) { - return (char8)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtz(short8 v) { - return (char8)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtp(short8 v) { - return (char8)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtn(short8 v) { - return (char8)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rte(short8 v) { - return (uchar8)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtz(short8 v) { - return (uchar8)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtp(short8 v) { - return (uchar8)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtn(short8 v) { - return (uchar8)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rte(ushort8 v) { - return (long8)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtz(ushort8 v) { - return (long8)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtp(ushort8 v) { - return (long8)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtn(ushort8 v) { - return (long8)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rte(ushort8 v) { - return (ulong8)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtz(ushort8 v) { - return (ulong8)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtp(ushort8 v) { - return (ulong8)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtn(ushort8 v) { - return (ulong8)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rte(ushort8 v) { - return (int8)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtz(ushort8 v) { - return (int8)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtp(ushort8 v) { - return (int8)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtn(ushort8 v) { - return (int8)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rte(ushort8 v) { - return (uint8)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtz(ushort8 v) { - return (uint8)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtp(ushort8 v) { - return (uint8)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtn(ushort8 v) { - return (uint8)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rte(ushort8 v) { - return (short8)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtz(ushort8 v) { - return (short8)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtp(ushort8 v) { - return (short8)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtn(ushort8 v) { - return (short8)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rte(ushort8 v) { - return (ushort8)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtz(ushort8 v) { - return (ushort8)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtp(ushort8 v) { - return (ushort8)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtn(ushort8 v) { - return (ushort8)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rte(ushort8 v) { - return (char8)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtz(ushort8 v) { - return (char8)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtp(ushort8 v) { - return (char8)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtn(ushort8 v) { - return (char8)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rte(ushort8 v) { - return (uchar8)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtz(ushort8 v) { - return (uchar8)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtp(ushort8 v) { - return (uchar8)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtn(ushort8 v) { - return (uchar8)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rte(char8 v) { - return (long8)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtz(char8 v) { - return (long8)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtp(char8 v) { - return (long8)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtn(char8 v) { - return (long8)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rte(char8 v) { - return (ulong8)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtz(char8 v) { - return (ulong8)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtp(char8 v) { - return (ulong8)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtn(char8 v) { - return (ulong8)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rte(char8 v) { - return (int8)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtz(char8 v) { - return (int8)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtp(char8 v) { - return (int8)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtn(char8 v) { - return (int8)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rte(char8 v) { - return (uint8)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtz(char8 v) { - return (uint8)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtp(char8 v) { - return (uint8)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtn(char8 v) { - return (uint8)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rte(char8 v) { - return (short8)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtz(char8 v) { - return (short8)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtp(char8 v) { - return (short8)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtn(char8 v) { - return (short8)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rte(char8 v) { - return (ushort8)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtz(char8 v) { - return (ushort8)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtp(char8 v) { - return (ushort8)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtn(char8 v) { - return (ushort8)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rte(char8 v) { - return (char8)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtz(char8 v) { - return (char8)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtp(char8 v) { - return (char8)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtn(char8 v) { - return (char8)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rte(char8 v) { - return (uchar8)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtz(char8 v) { - return (uchar8)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtp(char8 v) { - return (uchar8)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtn(char8 v) { - return (uchar8)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rte(uchar8 v) { - return (long8)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtz(uchar8 v) { - return (long8)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtp(uchar8 v) { - return (long8)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtn(uchar8 v) { - return (long8)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rte(uchar8 v) { - return (ulong8)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtz(uchar8 v) { - return (ulong8)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtp(uchar8 v) { - return (ulong8)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtn(uchar8 v) { - return (ulong8)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rte(uchar8 v) { - return (int8)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtz(uchar8 v) { - return (int8)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtp(uchar8 v) { - return (int8)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtn(uchar8 v) { - return (int8)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rte(uchar8 v) { - return (uint8)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtz(uchar8 v) { - return (uint8)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtp(uchar8 v) { - return (uint8)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtn(uchar8 v) { - return (uint8)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rte(uchar8 v) { - return (short8)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtz(uchar8 v) { - return (short8)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtp(uchar8 v) { - return (short8)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtn(uchar8 v) { - return (short8)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rte(uchar8 v) { - return (ushort8)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtz(uchar8 v) { - return (ushort8)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtp(uchar8 v) { - return (ushort8)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtn(uchar8 v) { - return (ushort8)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rte(uchar8 v) { - return (char8)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtz(uchar8 v) { - return (char8)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtp(uchar8 v) { - return (char8)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtn(uchar8 v) { - return (char8)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rte(uchar8 v) { - return (uchar8)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtz(uchar8 v) { - return (uchar8)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtp(uchar8 v) { - return (uchar8)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtn(uchar8 v) { - return (uchar8)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rte(float8 v) { - return (long8)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtz(float8 v) { - return (long8)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtp(float8 v) { - return (long8)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE long8 convert_long8_sat_rtn(float8 v) { - return (long8)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rte(float8 v) { - return (ulong8)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtz(float8 v) { - return (ulong8)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtp(float8 v) { - return (ulong8)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ulong8 convert_ulong8_sat_rtn(float8 v) { - return (ulong8)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rte(float8 v) { - return (int8)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtz(float8 v) { - return (int8)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtp(float8 v) { - return (int8)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE int8 convert_int8_sat_rtn(float8 v) { - return (int8)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rte(float8 v) { - return (uint8)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtz(float8 v) { - return (uint8)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtp(float8 v) { - return (uint8)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uint8 convert_uint8_sat_rtn(float8 v) { - return (uint8)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rte(float8 v) { - return (short8)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtz(float8 v) { - return (short8)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtp(float8 v) { - return (short8)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE short8 convert_short8_sat_rtn(float8 v) { - return (short8)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rte(float8 v) { - return (ushort8)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtz(float8 v) { - return (ushort8)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtp(float8 v) { - return (ushort8)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE ushort8 convert_ushort8_sat_rtn(float8 v) { - return (ushort8)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rte(float8 v) { - return (char8)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtz(float8 v) { - return (char8)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtp(float8 v) { - return (char8)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE char8 convert_char8_sat_rtn(float8 v) { - return (char8)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rte(float8 v) { - return (uchar8)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtz(float8 v) { - return (uchar8)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtp(float8 v) { - return (uchar8)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7)); -} - -INLINE OVERLOADABLE uchar8 convert_uchar8_sat_rtn(float8 v) { - return (uchar8)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rte(long16 v) { - return (long16)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7), convert_long_sat_rte(v.s8), convert_long_sat_rte(v.s9), convert_long_sat_rte(v.sA), convert_long_sat_rte(v.sB), convert_long_sat_rte(v.sC), convert_long_sat_rte(v.sD), convert_long_sat_rte(v.sE), convert_long_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtz(long16 v) { - return (long16)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7), convert_long_sat_rtz(v.s8), convert_long_sat_rtz(v.s9), convert_long_sat_rtz(v.sA), convert_long_sat_rtz(v.sB), convert_long_sat_rtz(v.sC), convert_long_sat_rtz(v.sD), convert_long_sat_rtz(v.sE), convert_long_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtp(long16 v) { - return (long16)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7), convert_long_sat_rtp(v.s8), convert_long_sat_rtp(v.s9), convert_long_sat_rtp(v.sA), convert_long_sat_rtp(v.sB), convert_long_sat_rtp(v.sC), convert_long_sat_rtp(v.sD), convert_long_sat_rtp(v.sE), convert_long_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtn(long16 v) { - return (long16)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7), convert_long_sat_rtn(v.s8), convert_long_sat_rtn(v.s9), convert_long_sat_rtn(v.sA), convert_long_sat_rtn(v.sB), convert_long_sat_rtn(v.sC), convert_long_sat_rtn(v.sD), convert_long_sat_rtn(v.sE), convert_long_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rte(long16 v) { - return (ulong16)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7), convert_ulong_sat_rte(v.s8), convert_ulong_sat_rte(v.s9), convert_ulong_sat_rte(v.sA), convert_ulong_sat_rte(v.sB), convert_ulong_sat_rte(v.sC), convert_ulong_sat_rte(v.sD), convert_ulong_sat_rte(v.sE), convert_ulong_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtz(long16 v) { - return (ulong16)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7), convert_ulong_sat_rtz(v.s8), convert_ulong_sat_rtz(v.s9), convert_ulong_sat_rtz(v.sA), convert_ulong_sat_rtz(v.sB), convert_ulong_sat_rtz(v.sC), convert_ulong_sat_rtz(v.sD), convert_ulong_sat_rtz(v.sE), convert_ulong_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtp(long16 v) { - return (ulong16)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7), convert_ulong_sat_rtp(v.s8), convert_ulong_sat_rtp(v.s9), convert_ulong_sat_rtp(v.sA), convert_ulong_sat_rtp(v.sB), convert_ulong_sat_rtp(v.sC), convert_ulong_sat_rtp(v.sD), convert_ulong_sat_rtp(v.sE), convert_ulong_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtn(long16 v) { - return (ulong16)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7), convert_ulong_sat_rtn(v.s8), convert_ulong_sat_rtn(v.s9), convert_ulong_sat_rtn(v.sA), convert_ulong_sat_rtn(v.sB), convert_ulong_sat_rtn(v.sC), convert_ulong_sat_rtn(v.sD), convert_ulong_sat_rtn(v.sE), convert_ulong_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rte(long16 v) { - return (int16)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7), convert_int_sat_rte(v.s8), convert_int_sat_rte(v.s9), convert_int_sat_rte(v.sA), convert_int_sat_rte(v.sB), convert_int_sat_rte(v.sC), convert_int_sat_rte(v.sD), convert_int_sat_rte(v.sE), convert_int_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtz(long16 v) { - return (int16)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7), convert_int_sat_rtz(v.s8), convert_int_sat_rtz(v.s9), convert_int_sat_rtz(v.sA), convert_int_sat_rtz(v.sB), convert_int_sat_rtz(v.sC), convert_int_sat_rtz(v.sD), convert_int_sat_rtz(v.sE), convert_int_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtp(long16 v) { - return (int16)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7), convert_int_sat_rtp(v.s8), convert_int_sat_rtp(v.s9), convert_int_sat_rtp(v.sA), convert_int_sat_rtp(v.sB), convert_int_sat_rtp(v.sC), convert_int_sat_rtp(v.sD), convert_int_sat_rtp(v.sE), convert_int_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtn(long16 v) { - return (int16)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7), convert_int_sat_rtn(v.s8), convert_int_sat_rtn(v.s9), convert_int_sat_rtn(v.sA), convert_int_sat_rtn(v.sB), convert_int_sat_rtn(v.sC), convert_int_sat_rtn(v.sD), convert_int_sat_rtn(v.sE), convert_int_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rte(long16 v) { - return (uint16)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7), convert_uint_sat_rte(v.s8), convert_uint_sat_rte(v.s9), convert_uint_sat_rte(v.sA), convert_uint_sat_rte(v.sB), convert_uint_sat_rte(v.sC), convert_uint_sat_rte(v.sD), convert_uint_sat_rte(v.sE), convert_uint_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtz(long16 v) { - return (uint16)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7), convert_uint_sat_rtz(v.s8), convert_uint_sat_rtz(v.s9), convert_uint_sat_rtz(v.sA), convert_uint_sat_rtz(v.sB), convert_uint_sat_rtz(v.sC), convert_uint_sat_rtz(v.sD), convert_uint_sat_rtz(v.sE), convert_uint_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtp(long16 v) { - return (uint16)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7), convert_uint_sat_rtp(v.s8), convert_uint_sat_rtp(v.s9), convert_uint_sat_rtp(v.sA), convert_uint_sat_rtp(v.sB), convert_uint_sat_rtp(v.sC), convert_uint_sat_rtp(v.sD), convert_uint_sat_rtp(v.sE), convert_uint_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtn(long16 v) { - return (uint16)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7), convert_uint_sat_rtn(v.s8), convert_uint_sat_rtn(v.s9), convert_uint_sat_rtn(v.sA), convert_uint_sat_rtn(v.sB), convert_uint_sat_rtn(v.sC), convert_uint_sat_rtn(v.sD), convert_uint_sat_rtn(v.sE), convert_uint_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rte(long16 v) { - return (short16)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7), convert_short_sat_rte(v.s8), convert_short_sat_rte(v.s9), convert_short_sat_rte(v.sA), convert_short_sat_rte(v.sB), convert_short_sat_rte(v.sC), convert_short_sat_rte(v.sD), convert_short_sat_rte(v.sE), convert_short_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtz(long16 v) { - return (short16)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7), convert_short_sat_rtz(v.s8), convert_short_sat_rtz(v.s9), convert_short_sat_rtz(v.sA), convert_short_sat_rtz(v.sB), convert_short_sat_rtz(v.sC), convert_short_sat_rtz(v.sD), convert_short_sat_rtz(v.sE), convert_short_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtp(long16 v) { - return (short16)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7), convert_short_sat_rtp(v.s8), convert_short_sat_rtp(v.s9), convert_short_sat_rtp(v.sA), convert_short_sat_rtp(v.sB), convert_short_sat_rtp(v.sC), convert_short_sat_rtp(v.sD), convert_short_sat_rtp(v.sE), convert_short_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtn(long16 v) { - return (short16)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7), convert_short_sat_rtn(v.s8), convert_short_sat_rtn(v.s9), convert_short_sat_rtn(v.sA), convert_short_sat_rtn(v.sB), convert_short_sat_rtn(v.sC), convert_short_sat_rtn(v.sD), convert_short_sat_rtn(v.sE), convert_short_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rte(long16 v) { - return (ushort16)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7), convert_ushort_sat_rte(v.s8), convert_ushort_sat_rte(v.s9), convert_ushort_sat_rte(v.sA), convert_ushort_sat_rte(v.sB), convert_ushort_sat_rte(v.sC), convert_ushort_sat_rte(v.sD), convert_ushort_sat_rte(v.sE), convert_ushort_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtz(long16 v) { - return (ushort16)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7), convert_ushort_sat_rtz(v.s8), convert_ushort_sat_rtz(v.s9), convert_ushort_sat_rtz(v.sA), convert_ushort_sat_rtz(v.sB), convert_ushort_sat_rtz(v.sC), convert_ushort_sat_rtz(v.sD), convert_ushort_sat_rtz(v.sE), convert_ushort_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtp(long16 v) { - return (ushort16)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7), convert_ushort_sat_rtp(v.s8), convert_ushort_sat_rtp(v.s9), convert_ushort_sat_rtp(v.sA), convert_ushort_sat_rtp(v.sB), convert_ushort_sat_rtp(v.sC), convert_ushort_sat_rtp(v.sD), convert_ushort_sat_rtp(v.sE), convert_ushort_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtn(long16 v) { - return (ushort16)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7), convert_ushort_sat_rtn(v.s8), convert_ushort_sat_rtn(v.s9), convert_ushort_sat_rtn(v.sA), convert_ushort_sat_rtn(v.sB), convert_ushort_sat_rtn(v.sC), convert_ushort_sat_rtn(v.sD), convert_ushort_sat_rtn(v.sE), convert_ushort_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rte(long16 v) { - return (char16)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7), convert_char_sat_rte(v.s8), convert_char_sat_rte(v.s9), convert_char_sat_rte(v.sA), convert_char_sat_rte(v.sB), convert_char_sat_rte(v.sC), convert_char_sat_rte(v.sD), convert_char_sat_rte(v.sE), convert_char_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtz(long16 v) { - return (char16)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7), convert_char_sat_rtz(v.s8), convert_char_sat_rtz(v.s9), convert_char_sat_rtz(v.sA), convert_char_sat_rtz(v.sB), convert_char_sat_rtz(v.sC), convert_char_sat_rtz(v.sD), convert_char_sat_rtz(v.sE), convert_char_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtp(long16 v) { - return (char16)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7), convert_char_sat_rtp(v.s8), convert_char_sat_rtp(v.s9), convert_char_sat_rtp(v.sA), convert_char_sat_rtp(v.sB), convert_char_sat_rtp(v.sC), convert_char_sat_rtp(v.sD), convert_char_sat_rtp(v.sE), convert_char_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtn(long16 v) { - return (char16)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7), convert_char_sat_rtn(v.s8), convert_char_sat_rtn(v.s9), convert_char_sat_rtn(v.sA), convert_char_sat_rtn(v.sB), convert_char_sat_rtn(v.sC), convert_char_sat_rtn(v.sD), convert_char_sat_rtn(v.sE), convert_char_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rte(long16 v) { - return (uchar16)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7), convert_uchar_sat_rte(v.s8), convert_uchar_sat_rte(v.s9), convert_uchar_sat_rte(v.sA), convert_uchar_sat_rte(v.sB), convert_uchar_sat_rte(v.sC), convert_uchar_sat_rte(v.sD), convert_uchar_sat_rte(v.sE), convert_uchar_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtz(long16 v) { - return (uchar16)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7), convert_uchar_sat_rtz(v.s8), convert_uchar_sat_rtz(v.s9), convert_uchar_sat_rtz(v.sA), convert_uchar_sat_rtz(v.sB), convert_uchar_sat_rtz(v.sC), convert_uchar_sat_rtz(v.sD), convert_uchar_sat_rtz(v.sE), convert_uchar_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtp(long16 v) { - return (uchar16)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7), convert_uchar_sat_rtp(v.s8), convert_uchar_sat_rtp(v.s9), convert_uchar_sat_rtp(v.sA), convert_uchar_sat_rtp(v.sB), convert_uchar_sat_rtp(v.sC), convert_uchar_sat_rtp(v.sD), convert_uchar_sat_rtp(v.sE), convert_uchar_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtn(long16 v) { - return (uchar16)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7), convert_uchar_sat_rtn(v.s8), convert_uchar_sat_rtn(v.s9), convert_uchar_sat_rtn(v.sA), convert_uchar_sat_rtn(v.sB), convert_uchar_sat_rtn(v.sC), convert_uchar_sat_rtn(v.sD), convert_uchar_sat_rtn(v.sE), convert_uchar_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rte(ulong16 v) { - return (long16)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7), convert_long_sat_rte(v.s8), convert_long_sat_rte(v.s9), convert_long_sat_rte(v.sA), convert_long_sat_rte(v.sB), convert_long_sat_rte(v.sC), convert_long_sat_rte(v.sD), convert_long_sat_rte(v.sE), convert_long_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtz(ulong16 v) { - return (long16)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7), convert_long_sat_rtz(v.s8), convert_long_sat_rtz(v.s9), convert_long_sat_rtz(v.sA), convert_long_sat_rtz(v.sB), convert_long_sat_rtz(v.sC), convert_long_sat_rtz(v.sD), convert_long_sat_rtz(v.sE), convert_long_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtp(ulong16 v) { - return (long16)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7), convert_long_sat_rtp(v.s8), convert_long_sat_rtp(v.s9), convert_long_sat_rtp(v.sA), convert_long_sat_rtp(v.sB), convert_long_sat_rtp(v.sC), convert_long_sat_rtp(v.sD), convert_long_sat_rtp(v.sE), convert_long_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtn(ulong16 v) { - return (long16)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7), convert_long_sat_rtn(v.s8), convert_long_sat_rtn(v.s9), convert_long_sat_rtn(v.sA), convert_long_sat_rtn(v.sB), convert_long_sat_rtn(v.sC), convert_long_sat_rtn(v.sD), convert_long_sat_rtn(v.sE), convert_long_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rte(ulong16 v) { - return (ulong16)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7), convert_ulong_sat_rte(v.s8), convert_ulong_sat_rte(v.s9), convert_ulong_sat_rte(v.sA), convert_ulong_sat_rte(v.sB), convert_ulong_sat_rte(v.sC), convert_ulong_sat_rte(v.sD), convert_ulong_sat_rte(v.sE), convert_ulong_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtz(ulong16 v) { - return (ulong16)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7), convert_ulong_sat_rtz(v.s8), convert_ulong_sat_rtz(v.s9), convert_ulong_sat_rtz(v.sA), convert_ulong_sat_rtz(v.sB), convert_ulong_sat_rtz(v.sC), convert_ulong_sat_rtz(v.sD), convert_ulong_sat_rtz(v.sE), convert_ulong_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtp(ulong16 v) { - return (ulong16)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7), convert_ulong_sat_rtp(v.s8), convert_ulong_sat_rtp(v.s9), convert_ulong_sat_rtp(v.sA), convert_ulong_sat_rtp(v.sB), convert_ulong_sat_rtp(v.sC), convert_ulong_sat_rtp(v.sD), convert_ulong_sat_rtp(v.sE), convert_ulong_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtn(ulong16 v) { - return (ulong16)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7), convert_ulong_sat_rtn(v.s8), convert_ulong_sat_rtn(v.s9), convert_ulong_sat_rtn(v.sA), convert_ulong_sat_rtn(v.sB), convert_ulong_sat_rtn(v.sC), convert_ulong_sat_rtn(v.sD), convert_ulong_sat_rtn(v.sE), convert_ulong_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rte(ulong16 v) { - return (int16)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7), convert_int_sat_rte(v.s8), convert_int_sat_rte(v.s9), convert_int_sat_rte(v.sA), convert_int_sat_rte(v.sB), convert_int_sat_rte(v.sC), convert_int_sat_rte(v.sD), convert_int_sat_rte(v.sE), convert_int_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtz(ulong16 v) { - return (int16)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7), convert_int_sat_rtz(v.s8), convert_int_sat_rtz(v.s9), convert_int_sat_rtz(v.sA), convert_int_sat_rtz(v.sB), convert_int_sat_rtz(v.sC), convert_int_sat_rtz(v.sD), convert_int_sat_rtz(v.sE), convert_int_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtp(ulong16 v) { - return (int16)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7), convert_int_sat_rtp(v.s8), convert_int_sat_rtp(v.s9), convert_int_sat_rtp(v.sA), convert_int_sat_rtp(v.sB), convert_int_sat_rtp(v.sC), convert_int_sat_rtp(v.sD), convert_int_sat_rtp(v.sE), convert_int_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtn(ulong16 v) { - return (int16)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7), convert_int_sat_rtn(v.s8), convert_int_sat_rtn(v.s9), convert_int_sat_rtn(v.sA), convert_int_sat_rtn(v.sB), convert_int_sat_rtn(v.sC), convert_int_sat_rtn(v.sD), convert_int_sat_rtn(v.sE), convert_int_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rte(ulong16 v) { - return (uint16)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7), convert_uint_sat_rte(v.s8), convert_uint_sat_rte(v.s9), convert_uint_sat_rte(v.sA), convert_uint_sat_rte(v.sB), convert_uint_sat_rte(v.sC), convert_uint_sat_rte(v.sD), convert_uint_sat_rte(v.sE), convert_uint_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtz(ulong16 v) { - return (uint16)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7), convert_uint_sat_rtz(v.s8), convert_uint_sat_rtz(v.s9), convert_uint_sat_rtz(v.sA), convert_uint_sat_rtz(v.sB), convert_uint_sat_rtz(v.sC), convert_uint_sat_rtz(v.sD), convert_uint_sat_rtz(v.sE), convert_uint_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtp(ulong16 v) { - return (uint16)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7), convert_uint_sat_rtp(v.s8), convert_uint_sat_rtp(v.s9), convert_uint_sat_rtp(v.sA), convert_uint_sat_rtp(v.sB), convert_uint_sat_rtp(v.sC), convert_uint_sat_rtp(v.sD), convert_uint_sat_rtp(v.sE), convert_uint_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtn(ulong16 v) { - return (uint16)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7), convert_uint_sat_rtn(v.s8), convert_uint_sat_rtn(v.s9), convert_uint_sat_rtn(v.sA), convert_uint_sat_rtn(v.sB), convert_uint_sat_rtn(v.sC), convert_uint_sat_rtn(v.sD), convert_uint_sat_rtn(v.sE), convert_uint_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rte(ulong16 v) { - return (short16)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7), convert_short_sat_rte(v.s8), convert_short_sat_rte(v.s9), convert_short_sat_rte(v.sA), convert_short_sat_rte(v.sB), convert_short_sat_rte(v.sC), convert_short_sat_rte(v.sD), convert_short_sat_rte(v.sE), convert_short_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtz(ulong16 v) { - return (short16)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7), convert_short_sat_rtz(v.s8), convert_short_sat_rtz(v.s9), convert_short_sat_rtz(v.sA), convert_short_sat_rtz(v.sB), convert_short_sat_rtz(v.sC), convert_short_sat_rtz(v.sD), convert_short_sat_rtz(v.sE), convert_short_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtp(ulong16 v) { - return (short16)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7), convert_short_sat_rtp(v.s8), convert_short_sat_rtp(v.s9), convert_short_sat_rtp(v.sA), convert_short_sat_rtp(v.sB), convert_short_sat_rtp(v.sC), convert_short_sat_rtp(v.sD), convert_short_sat_rtp(v.sE), convert_short_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtn(ulong16 v) { - return (short16)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7), convert_short_sat_rtn(v.s8), convert_short_sat_rtn(v.s9), convert_short_sat_rtn(v.sA), convert_short_sat_rtn(v.sB), convert_short_sat_rtn(v.sC), convert_short_sat_rtn(v.sD), convert_short_sat_rtn(v.sE), convert_short_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rte(ulong16 v) { - return (ushort16)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7), convert_ushort_sat_rte(v.s8), convert_ushort_sat_rte(v.s9), convert_ushort_sat_rte(v.sA), convert_ushort_sat_rte(v.sB), convert_ushort_sat_rte(v.sC), convert_ushort_sat_rte(v.sD), convert_ushort_sat_rte(v.sE), convert_ushort_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtz(ulong16 v) { - return (ushort16)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7), convert_ushort_sat_rtz(v.s8), convert_ushort_sat_rtz(v.s9), convert_ushort_sat_rtz(v.sA), convert_ushort_sat_rtz(v.sB), convert_ushort_sat_rtz(v.sC), convert_ushort_sat_rtz(v.sD), convert_ushort_sat_rtz(v.sE), convert_ushort_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtp(ulong16 v) { - return (ushort16)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7), convert_ushort_sat_rtp(v.s8), convert_ushort_sat_rtp(v.s9), convert_ushort_sat_rtp(v.sA), convert_ushort_sat_rtp(v.sB), convert_ushort_sat_rtp(v.sC), convert_ushort_sat_rtp(v.sD), convert_ushort_sat_rtp(v.sE), convert_ushort_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtn(ulong16 v) { - return (ushort16)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7), convert_ushort_sat_rtn(v.s8), convert_ushort_sat_rtn(v.s9), convert_ushort_sat_rtn(v.sA), convert_ushort_sat_rtn(v.sB), convert_ushort_sat_rtn(v.sC), convert_ushort_sat_rtn(v.sD), convert_ushort_sat_rtn(v.sE), convert_ushort_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rte(ulong16 v) { - return (char16)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7), convert_char_sat_rte(v.s8), convert_char_sat_rte(v.s9), convert_char_sat_rte(v.sA), convert_char_sat_rte(v.sB), convert_char_sat_rte(v.sC), convert_char_sat_rte(v.sD), convert_char_sat_rte(v.sE), convert_char_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtz(ulong16 v) { - return (char16)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7), convert_char_sat_rtz(v.s8), convert_char_sat_rtz(v.s9), convert_char_sat_rtz(v.sA), convert_char_sat_rtz(v.sB), convert_char_sat_rtz(v.sC), convert_char_sat_rtz(v.sD), convert_char_sat_rtz(v.sE), convert_char_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtp(ulong16 v) { - return (char16)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7), convert_char_sat_rtp(v.s8), convert_char_sat_rtp(v.s9), convert_char_sat_rtp(v.sA), convert_char_sat_rtp(v.sB), convert_char_sat_rtp(v.sC), convert_char_sat_rtp(v.sD), convert_char_sat_rtp(v.sE), convert_char_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtn(ulong16 v) { - return (char16)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7), convert_char_sat_rtn(v.s8), convert_char_sat_rtn(v.s9), convert_char_sat_rtn(v.sA), convert_char_sat_rtn(v.sB), convert_char_sat_rtn(v.sC), convert_char_sat_rtn(v.sD), convert_char_sat_rtn(v.sE), convert_char_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rte(ulong16 v) { - return (uchar16)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7), convert_uchar_sat_rte(v.s8), convert_uchar_sat_rte(v.s9), convert_uchar_sat_rte(v.sA), convert_uchar_sat_rte(v.sB), convert_uchar_sat_rte(v.sC), convert_uchar_sat_rte(v.sD), convert_uchar_sat_rte(v.sE), convert_uchar_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtz(ulong16 v) { - return (uchar16)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7), convert_uchar_sat_rtz(v.s8), convert_uchar_sat_rtz(v.s9), convert_uchar_sat_rtz(v.sA), convert_uchar_sat_rtz(v.sB), convert_uchar_sat_rtz(v.sC), convert_uchar_sat_rtz(v.sD), convert_uchar_sat_rtz(v.sE), convert_uchar_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtp(ulong16 v) { - return (uchar16)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7), convert_uchar_sat_rtp(v.s8), convert_uchar_sat_rtp(v.s9), convert_uchar_sat_rtp(v.sA), convert_uchar_sat_rtp(v.sB), convert_uchar_sat_rtp(v.sC), convert_uchar_sat_rtp(v.sD), convert_uchar_sat_rtp(v.sE), convert_uchar_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtn(ulong16 v) { - return (uchar16)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7), convert_uchar_sat_rtn(v.s8), convert_uchar_sat_rtn(v.s9), convert_uchar_sat_rtn(v.sA), convert_uchar_sat_rtn(v.sB), convert_uchar_sat_rtn(v.sC), convert_uchar_sat_rtn(v.sD), convert_uchar_sat_rtn(v.sE), convert_uchar_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rte(int16 v) { - return (long16)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7), convert_long_sat_rte(v.s8), convert_long_sat_rte(v.s9), convert_long_sat_rte(v.sA), convert_long_sat_rte(v.sB), convert_long_sat_rte(v.sC), convert_long_sat_rte(v.sD), convert_long_sat_rte(v.sE), convert_long_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtz(int16 v) { - return (long16)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7), convert_long_sat_rtz(v.s8), convert_long_sat_rtz(v.s9), convert_long_sat_rtz(v.sA), convert_long_sat_rtz(v.sB), convert_long_sat_rtz(v.sC), convert_long_sat_rtz(v.sD), convert_long_sat_rtz(v.sE), convert_long_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtp(int16 v) { - return (long16)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7), convert_long_sat_rtp(v.s8), convert_long_sat_rtp(v.s9), convert_long_sat_rtp(v.sA), convert_long_sat_rtp(v.sB), convert_long_sat_rtp(v.sC), convert_long_sat_rtp(v.sD), convert_long_sat_rtp(v.sE), convert_long_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtn(int16 v) { - return (long16)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7), convert_long_sat_rtn(v.s8), convert_long_sat_rtn(v.s9), convert_long_sat_rtn(v.sA), convert_long_sat_rtn(v.sB), convert_long_sat_rtn(v.sC), convert_long_sat_rtn(v.sD), convert_long_sat_rtn(v.sE), convert_long_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rte(int16 v) { - return (ulong16)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7), convert_ulong_sat_rte(v.s8), convert_ulong_sat_rte(v.s9), convert_ulong_sat_rte(v.sA), convert_ulong_sat_rte(v.sB), convert_ulong_sat_rte(v.sC), convert_ulong_sat_rte(v.sD), convert_ulong_sat_rte(v.sE), convert_ulong_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtz(int16 v) { - return (ulong16)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7), convert_ulong_sat_rtz(v.s8), convert_ulong_sat_rtz(v.s9), convert_ulong_sat_rtz(v.sA), convert_ulong_sat_rtz(v.sB), convert_ulong_sat_rtz(v.sC), convert_ulong_sat_rtz(v.sD), convert_ulong_sat_rtz(v.sE), convert_ulong_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtp(int16 v) { - return (ulong16)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7), convert_ulong_sat_rtp(v.s8), convert_ulong_sat_rtp(v.s9), convert_ulong_sat_rtp(v.sA), convert_ulong_sat_rtp(v.sB), convert_ulong_sat_rtp(v.sC), convert_ulong_sat_rtp(v.sD), convert_ulong_sat_rtp(v.sE), convert_ulong_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtn(int16 v) { - return (ulong16)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7), convert_ulong_sat_rtn(v.s8), convert_ulong_sat_rtn(v.s9), convert_ulong_sat_rtn(v.sA), convert_ulong_sat_rtn(v.sB), convert_ulong_sat_rtn(v.sC), convert_ulong_sat_rtn(v.sD), convert_ulong_sat_rtn(v.sE), convert_ulong_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rte(int16 v) { - return (int16)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7), convert_int_sat_rte(v.s8), convert_int_sat_rte(v.s9), convert_int_sat_rte(v.sA), convert_int_sat_rte(v.sB), convert_int_sat_rte(v.sC), convert_int_sat_rte(v.sD), convert_int_sat_rte(v.sE), convert_int_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtz(int16 v) { - return (int16)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7), convert_int_sat_rtz(v.s8), convert_int_sat_rtz(v.s9), convert_int_sat_rtz(v.sA), convert_int_sat_rtz(v.sB), convert_int_sat_rtz(v.sC), convert_int_sat_rtz(v.sD), convert_int_sat_rtz(v.sE), convert_int_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtp(int16 v) { - return (int16)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7), convert_int_sat_rtp(v.s8), convert_int_sat_rtp(v.s9), convert_int_sat_rtp(v.sA), convert_int_sat_rtp(v.sB), convert_int_sat_rtp(v.sC), convert_int_sat_rtp(v.sD), convert_int_sat_rtp(v.sE), convert_int_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtn(int16 v) { - return (int16)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7), convert_int_sat_rtn(v.s8), convert_int_sat_rtn(v.s9), convert_int_sat_rtn(v.sA), convert_int_sat_rtn(v.sB), convert_int_sat_rtn(v.sC), convert_int_sat_rtn(v.sD), convert_int_sat_rtn(v.sE), convert_int_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rte(int16 v) { - return (uint16)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7), convert_uint_sat_rte(v.s8), convert_uint_sat_rte(v.s9), convert_uint_sat_rte(v.sA), convert_uint_sat_rte(v.sB), convert_uint_sat_rte(v.sC), convert_uint_sat_rte(v.sD), convert_uint_sat_rte(v.sE), convert_uint_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtz(int16 v) { - return (uint16)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7), convert_uint_sat_rtz(v.s8), convert_uint_sat_rtz(v.s9), convert_uint_sat_rtz(v.sA), convert_uint_sat_rtz(v.sB), convert_uint_sat_rtz(v.sC), convert_uint_sat_rtz(v.sD), convert_uint_sat_rtz(v.sE), convert_uint_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtp(int16 v) { - return (uint16)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7), convert_uint_sat_rtp(v.s8), convert_uint_sat_rtp(v.s9), convert_uint_sat_rtp(v.sA), convert_uint_sat_rtp(v.sB), convert_uint_sat_rtp(v.sC), convert_uint_sat_rtp(v.sD), convert_uint_sat_rtp(v.sE), convert_uint_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtn(int16 v) { - return (uint16)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7), convert_uint_sat_rtn(v.s8), convert_uint_sat_rtn(v.s9), convert_uint_sat_rtn(v.sA), convert_uint_sat_rtn(v.sB), convert_uint_sat_rtn(v.sC), convert_uint_sat_rtn(v.sD), convert_uint_sat_rtn(v.sE), convert_uint_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rte(int16 v) { - return (short16)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7), convert_short_sat_rte(v.s8), convert_short_sat_rte(v.s9), convert_short_sat_rte(v.sA), convert_short_sat_rte(v.sB), convert_short_sat_rte(v.sC), convert_short_sat_rte(v.sD), convert_short_sat_rte(v.sE), convert_short_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtz(int16 v) { - return (short16)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7), convert_short_sat_rtz(v.s8), convert_short_sat_rtz(v.s9), convert_short_sat_rtz(v.sA), convert_short_sat_rtz(v.sB), convert_short_sat_rtz(v.sC), convert_short_sat_rtz(v.sD), convert_short_sat_rtz(v.sE), convert_short_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtp(int16 v) { - return (short16)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7), convert_short_sat_rtp(v.s8), convert_short_sat_rtp(v.s9), convert_short_sat_rtp(v.sA), convert_short_sat_rtp(v.sB), convert_short_sat_rtp(v.sC), convert_short_sat_rtp(v.sD), convert_short_sat_rtp(v.sE), convert_short_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtn(int16 v) { - return (short16)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7), convert_short_sat_rtn(v.s8), convert_short_sat_rtn(v.s9), convert_short_sat_rtn(v.sA), convert_short_sat_rtn(v.sB), convert_short_sat_rtn(v.sC), convert_short_sat_rtn(v.sD), convert_short_sat_rtn(v.sE), convert_short_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rte(int16 v) { - return (ushort16)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7), convert_ushort_sat_rte(v.s8), convert_ushort_sat_rte(v.s9), convert_ushort_sat_rte(v.sA), convert_ushort_sat_rte(v.sB), convert_ushort_sat_rte(v.sC), convert_ushort_sat_rte(v.sD), convert_ushort_sat_rte(v.sE), convert_ushort_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtz(int16 v) { - return (ushort16)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7), convert_ushort_sat_rtz(v.s8), convert_ushort_sat_rtz(v.s9), convert_ushort_sat_rtz(v.sA), convert_ushort_sat_rtz(v.sB), convert_ushort_sat_rtz(v.sC), convert_ushort_sat_rtz(v.sD), convert_ushort_sat_rtz(v.sE), convert_ushort_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtp(int16 v) { - return (ushort16)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7), convert_ushort_sat_rtp(v.s8), convert_ushort_sat_rtp(v.s9), convert_ushort_sat_rtp(v.sA), convert_ushort_sat_rtp(v.sB), convert_ushort_sat_rtp(v.sC), convert_ushort_sat_rtp(v.sD), convert_ushort_sat_rtp(v.sE), convert_ushort_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtn(int16 v) { - return (ushort16)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7), convert_ushort_sat_rtn(v.s8), convert_ushort_sat_rtn(v.s9), convert_ushort_sat_rtn(v.sA), convert_ushort_sat_rtn(v.sB), convert_ushort_sat_rtn(v.sC), convert_ushort_sat_rtn(v.sD), convert_ushort_sat_rtn(v.sE), convert_ushort_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rte(int16 v) { - return (char16)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7), convert_char_sat_rte(v.s8), convert_char_sat_rte(v.s9), convert_char_sat_rte(v.sA), convert_char_sat_rte(v.sB), convert_char_sat_rte(v.sC), convert_char_sat_rte(v.sD), convert_char_sat_rte(v.sE), convert_char_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtz(int16 v) { - return (char16)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7), convert_char_sat_rtz(v.s8), convert_char_sat_rtz(v.s9), convert_char_sat_rtz(v.sA), convert_char_sat_rtz(v.sB), convert_char_sat_rtz(v.sC), convert_char_sat_rtz(v.sD), convert_char_sat_rtz(v.sE), convert_char_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtp(int16 v) { - return (char16)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7), convert_char_sat_rtp(v.s8), convert_char_sat_rtp(v.s9), convert_char_sat_rtp(v.sA), convert_char_sat_rtp(v.sB), convert_char_sat_rtp(v.sC), convert_char_sat_rtp(v.sD), convert_char_sat_rtp(v.sE), convert_char_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtn(int16 v) { - return (char16)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7), convert_char_sat_rtn(v.s8), convert_char_sat_rtn(v.s9), convert_char_sat_rtn(v.sA), convert_char_sat_rtn(v.sB), convert_char_sat_rtn(v.sC), convert_char_sat_rtn(v.sD), convert_char_sat_rtn(v.sE), convert_char_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rte(int16 v) { - return (uchar16)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7), convert_uchar_sat_rte(v.s8), convert_uchar_sat_rte(v.s9), convert_uchar_sat_rte(v.sA), convert_uchar_sat_rte(v.sB), convert_uchar_sat_rte(v.sC), convert_uchar_sat_rte(v.sD), convert_uchar_sat_rte(v.sE), convert_uchar_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtz(int16 v) { - return (uchar16)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7), convert_uchar_sat_rtz(v.s8), convert_uchar_sat_rtz(v.s9), convert_uchar_sat_rtz(v.sA), convert_uchar_sat_rtz(v.sB), convert_uchar_sat_rtz(v.sC), convert_uchar_sat_rtz(v.sD), convert_uchar_sat_rtz(v.sE), convert_uchar_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtp(int16 v) { - return (uchar16)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7), convert_uchar_sat_rtp(v.s8), convert_uchar_sat_rtp(v.s9), convert_uchar_sat_rtp(v.sA), convert_uchar_sat_rtp(v.sB), convert_uchar_sat_rtp(v.sC), convert_uchar_sat_rtp(v.sD), convert_uchar_sat_rtp(v.sE), convert_uchar_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtn(int16 v) { - return (uchar16)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7), convert_uchar_sat_rtn(v.s8), convert_uchar_sat_rtn(v.s9), convert_uchar_sat_rtn(v.sA), convert_uchar_sat_rtn(v.sB), convert_uchar_sat_rtn(v.sC), convert_uchar_sat_rtn(v.sD), convert_uchar_sat_rtn(v.sE), convert_uchar_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rte(uint16 v) { - return (long16)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7), convert_long_sat_rte(v.s8), convert_long_sat_rte(v.s9), convert_long_sat_rte(v.sA), convert_long_sat_rte(v.sB), convert_long_sat_rte(v.sC), convert_long_sat_rte(v.sD), convert_long_sat_rte(v.sE), convert_long_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtz(uint16 v) { - return (long16)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7), convert_long_sat_rtz(v.s8), convert_long_sat_rtz(v.s9), convert_long_sat_rtz(v.sA), convert_long_sat_rtz(v.sB), convert_long_sat_rtz(v.sC), convert_long_sat_rtz(v.sD), convert_long_sat_rtz(v.sE), convert_long_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtp(uint16 v) { - return (long16)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7), convert_long_sat_rtp(v.s8), convert_long_sat_rtp(v.s9), convert_long_sat_rtp(v.sA), convert_long_sat_rtp(v.sB), convert_long_sat_rtp(v.sC), convert_long_sat_rtp(v.sD), convert_long_sat_rtp(v.sE), convert_long_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtn(uint16 v) { - return (long16)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7), convert_long_sat_rtn(v.s8), convert_long_sat_rtn(v.s9), convert_long_sat_rtn(v.sA), convert_long_sat_rtn(v.sB), convert_long_sat_rtn(v.sC), convert_long_sat_rtn(v.sD), convert_long_sat_rtn(v.sE), convert_long_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rte(uint16 v) { - return (ulong16)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7), convert_ulong_sat_rte(v.s8), convert_ulong_sat_rte(v.s9), convert_ulong_sat_rte(v.sA), convert_ulong_sat_rte(v.sB), convert_ulong_sat_rte(v.sC), convert_ulong_sat_rte(v.sD), convert_ulong_sat_rte(v.sE), convert_ulong_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtz(uint16 v) { - return (ulong16)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7), convert_ulong_sat_rtz(v.s8), convert_ulong_sat_rtz(v.s9), convert_ulong_sat_rtz(v.sA), convert_ulong_sat_rtz(v.sB), convert_ulong_sat_rtz(v.sC), convert_ulong_sat_rtz(v.sD), convert_ulong_sat_rtz(v.sE), convert_ulong_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtp(uint16 v) { - return (ulong16)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7), convert_ulong_sat_rtp(v.s8), convert_ulong_sat_rtp(v.s9), convert_ulong_sat_rtp(v.sA), convert_ulong_sat_rtp(v.sB), convert_ulong_sat_rtp(v.sC), convert_ulong_sat_rtp(v.sD), convert_ulong_sat_rtp(v.sE), convert_ulong_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtn(uint16 v) { - return (ulong16)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7), convert_ulong_sat_rtn(v.s8), convert_ulong_sat_rtn(v.s9), convert_ulong_sat_rtn(v.sA), convert_ulong_sat_rtn(v.sB), convert_ulong_sat_rtn(v.sC), convert_ulong_sat_rtn(v.sD), convert_ulong_sat_rtn(v.sE), convert_ulong_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rte(uint16 v) { - return (int16)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7), convert_int_sat_rte(v.s8), convert_int_sat_rte(v.s9), convert_int_sat_rte(v.sA), convert_int_sat_rte(v.sB), convert_int_sat_rte(v.sC), convert_int_sat_rte(v.sD), convert_int_sat_rte(v.sE), convert_int_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtz(uint16 v) { - return (int16)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7), convert_int_sat_rtz(v.s8), convert_int_sat_rtz(v.s9), convert_int_sat_rtz(v.sA), convert_int_sat_rtz(v.sB), convert_int_sat_rtz(v.sC), convert_int_sat_rtz(v.sD), convert_int_sat_rtz(v.sE), convert_int_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtp(uint16 v) { - return (int16)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7), convert_int_sat_rtp(v.s8), convert_int_sat_rtp(v.s9), convert_int_sat_rtp(v.sA), convert_int_sat_rtp(v.sB), convert_int_sat_rtp(v.sC), convert_int_sat_rtp(v.sD), convert_int_sat_rtp(v.sE), convert_int_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtn(uint16 v) { - return (int16)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7), convert_int_sat_rtn(v.s8), convert_int_sat_rtn(v.s9), convert_int_sat_rtn(v.sA), convert_int_sat_rtn(v.sB), convert_int_sat_rtn(v.sC), convert_int_sat_rtn(v.sD), convert_int_sat_rtn(v.sE), convert_int_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rte(uint16 v) { - return (uint16)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7), convert_uint_sat_rte(v.s8), convert_uint_sat_rte(v.s9), convert_uint_sat_rte(v.sA), convert_uint_sat_rte(v.sB), convert_uint_sat_rte(v.sC), convert_uint_sat_rte(v.sD), convert_uint_sat_rte(v.sE), convert_uint_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtz(uint16 v) { - return (uint16)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7), convert_uint_sat_rtz(v.s8), convert_uint_sat_rtz(v.s9), convert_uint_sat_rtz(v.sA), convert_uint_sat_rtz(v.sB), convert_uint_sat_rtz(v.sC), convert_uint_sat_rtz(v.sD), convert_uint_sat_rtz(v.sE), convert_uint_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtp(uint16 v) { - return (uint16)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7), convert_uint_sat_rtp(v.s8), convert_uint_sat_rtp(v.s9), convert_uint_sat_rtp(v.sA), convert_uint_sat_rtp(v.sB), convert_uint_sat_rtp(v.sC), convert_uint_sat_rtp(v.sD), convert_uint_sat_rtp(v.sE), convert_uint_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtn(uint16 v) { - return (uint16)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7), convert_uint_sat_rtn(v.s8), convert_uint_sat_rtn(v.s9), convert_uint_sat_rtn(v.sA), convert_uint_sat_rtn(v.sB), convert_uint_sat_rtn(v.sC), convert_uint_sat_rtn(v.sD), convert_uint_sat_rtn(v.sE), convert_uint_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rte(uint16 v) { - return (short16)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7), convert_short_sat_rte(v.s8), convert_short_sat_rte(v.s9), convert_short_sat_rte(v.sA), convert_short_sat_rte(v.sB), convert_short_sat_rte(v.sC), convert_short_sat_rte(v.sD), convert_short_sat_rte(v.sE), convert_short_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtz(uint16 v) { - return (short16)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7), convert_short_sat_rtz(v.s8), convert_short_sat_rtz(v.s9), convert_short_sat_rtz(v.sA), convert_short_sat_rtz(v.sB), convert_short_sat_rtz(v.sC), convert_short_sat_rtz(v.sD), convert_short_sat_rtz(v.sE), convert_short_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtp(uint16 v) { - return (short16)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7), convert_short_sat_rtp(v.s8), convert_short_sat_rtp(v.s9), convert_short_sat_rtp(v.sA), convert_short_sat_rtp(v.sB), convert_short_sat_rtp(v.sC), convert_short_sat_rtp(v.sD), convert_short_sat_rtp(v.sE), convert_short_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtn(uint16 v) { - return (short16)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7), convert_short_sat_rtn(v.s8), convert_short_sat_rtn(v.s9), convert_short_sat_rtn(v.sA), convert_short_sat_rtn(v.sB), convert_short_sat_rtn(v.sC), convert_short_sat_rtn(v.sD), convert_short_sat_rtn(v.sE), convert_short_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rte(uint16 v) { - return (ushort16)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7), convert_ushort_sat_rte(v.s8), convert_ushort_sat_rte(v.s9), convert_ushort_sat_rte(v.sA), convert_ushort_sat_rte(v.sB), convert_ushort_sat_rte(v.sC), convert_ushort_sat_rte(v.sD), convert_ushort_sat_rte(v.sE), convert_ushort_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtz(uint16 v) { - return (ushort16)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7), convert_ushort_sat_rtz(v.s8), convert_ushort_sat_rtz(v.s9), convert_ushort_sat_rtz(v.sA), convert_ushort_sat_rtz(v.sB), convert_ushort_sat_rtz(v.sC), convert_ushort_sat_rtz(v.sD), convert_ushort_sat_rtz(v.sE), convert_ushort_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtp(uint16 v) { - return (ushort16)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7), convert_ushort_sat_rtp(v.s8), convert_ushort_sat_rtp(v.s9), convert_ushort_sat_rtp(v.sA), convert_ushort_sat_rtp(v.sB), convert_ushort_sat_rtp(v.sC), convert_ushort_sat_rtp(v.sD), convert_ushort_sat_rtp(v.sE), convert_ushort_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtn(uint16 v) { - return (ushort16)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7), convert_ushort_sat_rtn(v.s8), convert_ushort_sat_rtn(v.s9), convert_ushort_sat_rtn(v.sA), convert_ushort_sat_rtn(v.sB), convert_ushort_sat_rtn(v.sC), convert_ushort_sat_rtn(v.sD), convert_ushort_sat_rtn(v.sE), convert_ushort_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rte(uint16 v) { - return (char16)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7), convert_char_sat_rte(v.s8), convert_char_sat_rte(v.s9), convert_char_sat_rte(v.sA), convert_char_sat_rte(v.sB), convert_char_sat_rte(v.sC), convert_char_sat_rte(v.sD), convert_char_sat_rte(v.sE), convert_char_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtz(uint16 v) { - return (char16)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7), convert_char_sat_rtz(v.s8), convert_char_sat_rtz(v.s9), convert_char_sat_rtz(v.sA), convert_char_sat_rtz(v.sB), convert_char_sat_rtz(v.sC), convert_char_sat_rtz(v.sD), convert_char_sat_rtz(v.sE), convert_char_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtp(uint16 v) { - return (char16)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7), convert_char_sat_rtp(v.s8), convert_char_sat_rtp(v.s9), convert_char_sat_rtp(v.sA), convert_char_sat_rtp(v.sB), convert_char_sat_rtp(v.sC), convert_char_sat_rtp(v.sD), convert_char_sat_rtp(v.sE), convert_char_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtn(uint16 v) { - return (char16)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7), convert_char_sat_rtn(v.s8), convert_char_sat_rtn(v.s9), convert_char_sat_rtn(v.sA), convert_char_sat_rtn(v.sB), convert_char_sat_rtn(v.sC), convert_char_sat_rtn(v.sD), convert_char_sat_rtn(v.sE), convert_char_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rte(uint16 v) { - return (uchar16)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7), convert_uchar_sat_rte(v.s8), convert_uchar_sat_rte(v.s9), convert_uchar_sat_rte(v.sA), convert_uchar_sat_rte(v.sB), convert_uchar_sat_rte(v.sC), convert_uchar_sat_rte(v.sD), convert_uchar_sat_rte(v.sE), convert_uchar_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtz(uint16 v) { - return (uchar16)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7), convert_uchar_sat_rtz(v.s8), convert_uchar_sat_rtz(v.s9), convert_uchar_sat_rtz(v.sA), convert_uchar_sat_rtz(v.sB), convert_uchar_sat_rtz(v.sC), convert_uchar_sat_rtz(v.sD), convert_uchar_sat_rtz(v.sE), convert_uchar_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtp(uint16 v) { - return (uchar16)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7), convert_uchar_sat_rtp(v.s8), convert_uchar_sat_rtp(v.s9), convert_uchar_sat_rtp(v.sA), convert_uchar_sat_rtp(v.sB), convert_uchar_sat_rtp(v.sC), convert_uchar_sat_rtp(v.sD), convert_uchar_sat_rtp(v.sE), convert_uchar_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtn(uint16 v) { - return (uchar16)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7), convert_uchar_sat_rtn(v.s8), convert_uchar_sat_rtn(v.s9), convert_uchar_sat_rtn(v.sA), convert_uchar_sat_rtn(v.sB), convert_uchar_sat_rtn(v.sC), convert_uchar_sat_rtn(v.sD), convert_uchar_sat_rtn(v.sE), convert_uchar_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rte(short16 v) { - return (long16)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7), convert_long_sat_rte(v.s8), convert_long_sat_rte(v.s9), convert_long_sat_rte(v.sA), convert_long_sat_rte(v.sB), convert_long_sat_rte(v.sC), convert_long_sat_rte(v.sD), convert_long_sat_rte(v.sE), convert_long_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtz(short16 v) { - return (long16)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7), convert_long_sat_rtz(v.s8), convert_long_sat_rtz(v.s9), convert_long_sat_rtz(v.sA), convert_long_sat_rtz(v.sB), convert_long_sat_rtz(v.sC), convert_long_sat_rtz(v.sD), convert_long_sat_rtz(v.sE), convert_long_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtp(short16 v) { - return (long16)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7), convert_long_sat_rtp(v.s8), convert_long_sat_rtp(v.s9), convert_long_sat_rtp(v.sA), convert_long_sat_rtp(v.sB), convert_long_sat_rtp(v.sC), convert_long_sat_rtp(v.sD), convert_long_sat_rtp(v.sE), convert_long_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtn(short16 v) { - return (long16)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7), convert_long_sat_rtn(v.s8), convert_long_sat_rtn(v.s9), convert_long_sat_rtn(v.sA), convert_long_sat_rtn(v.sB), convert_long_sat_rtn(v.sC), convert_long_sat_rtn(v.sD), convert_long_sat_rtn(v.sE), convert_long_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rte(short16 v) { - return (ulong16)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7), convert_ulong_sat_rte(v.s8), convert_ulong_sat_rte(v.s9), convert_ulong_sat_rte(v.sA), convert_ulong_sat_rte(v.sB), convert_ulong_sat_rte(v.sC), convert_ulong_sat_rte(v.sD), convert_ulong_sat_rte(v.sE), convert_ulong_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtz(short16 v) { - return (ulong16)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7), convert_ulong_sat_rtz(v.s8), convert_ulong_sat_rtz(v.s9), convert_ulong_sat_rtz(v.sA), convert_ulong_sat_rtz(v.sB), convert_ulong_sat_rtz(v.sC), convert_ulong_sat_rtz(v.sD), convert_ulong_sat_rtz(v.sE), convert_ulong_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtp(short16 v) { - return (ulong16)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7), convert_ulong_sat_rtp(v.s8), convert_ulong_sat_rtp(v.s9), convert_ulong_sat_rtp(v.sA), convert_ulong_sat_rtp(v.sB), convert_ulong_sat_rtp(v.sC), convert_ulong_sat_rtp(v.sD), convert_ulong_sat_rtp(v.sE), convert_ulong_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtn(short16 v) { - return (ulong16)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7), convert_ulong_sat_rtn(v.s8), convert_ulong_sat_rtn(v.s9), convert_ulong_sat_rtn(v.sA), convert_ulong_sat_rtn(v.sB), convert_ulong_sat_rtn(v.sC), convert_ulong_sat_rtn(v.sD), convert_ulong_sat_rtn(v.sE), convert_ulong_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rte(short16 v) { - return (int16)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7), convert_int_sat_rte(v.s8), convert_int_sat_rte(v.s9), convert_int_sat_rte(v.sA), convert_int_sat_rte(v.sB), convert_int_sat_rte(v.sC), convert_int_sat_rte(v.sD), convert_int_sat_rte(v.sE), convert_int_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtz(short16 v) { - return (int16)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7), convert_int_sat_rtz(v.s8), convert_int_sat_rtz(v.s9), convert_int_sat_rtz(v.sA), convert_int_sat_rtz(v.sB), convert_int_sat_rtz(v.sC), convert_int_sat_rtz(v.sD), convert_int_sat_rtz(v.sE), convert_int_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtp(short16 v) { - return (int16)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7), convert_int_sat_rtp(v.s8), convert_int_sat_rtp(v.s9), convert_int_sat_rtp(v.sA), convert_int_sat_rtp(v.sB), convert_int_sat_rtp(v.sC), convert_int_sat_rtp(v.sD), convert_int_sat_rtp(v.sE), convert_int_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtn(short16 v) { - return (int16)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7), convert_int_sat_rtn(v.s8), convert_int_sat_rtn(v.s9), convert_int_sat_rtn(v.sA), convert_int_sat_rtn(v.sB), convert_int_sat_rtn(v.sC), convert_int_sat_rtn(v.sD), convert_int_sat_rtn(v.sE), convert_int_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rte(short16 v) { - return (uint16)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7), convert_uint_sat_rte(v.s8), convert_uint_sat_rte(v.s9), convert_uint_sat_rte(v.sA), convert_uint_sat_rte(v.sB), convert_uint_sat_rte(v.sC), convert_uint_sat_rte(v.sD), convert_uint_sat_rte(v.sE), convert_uint_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtz(short16 v) { - return (uint16)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7), convert_uint_sat_rtz(v.s8), convert_uint_sat_rtz(v.s9), convert_uint_sat_rtz(v.sA), convert_uint_sat_rtz(v.sB), convert_uint_sat_rtz(v.sC), convert_uint_sat_rtz(v.sD), convert_uint_sat_rtz(v.sE), convert_uint_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtp(short16 v) { - return (uint16)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7), convert_uint_sat_rtp(v.s8), convert_uint_sat_rtp(v.s9), convert_uint_sat_rtp(v.sA), convert_uint_sat_rtp(v.sB), convert_uint_sat_rtp(v.sC), convert_uint_sat_rtp(v.sD), convert_uint_sat_rtp(v.sE), convert_uint_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtn(short16 v) { - return (uint16)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7), convert_uint_sat_rtn(v.s8), convert_uint_sat_rtn(v.s9), convert_uint_sat_rtn(v.sA), convert_uint_sat_rtn(v.sB), convert_uint_sat_rtn(v.sC), convert_uint_sat_rtn(v.sD), convert_uint_sat_rtn(v.sE), convert_uint_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rte(short16 v) { - return (short16)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7), convert_short_sat_rte(v.s8), convert_short_sat_rte(v.s9), convert_short_sat_rte(v.sA), convert_short_sat_rte(v.sB), convert_short_sat_rte(v.sC), convert_short_sat_rte(v.sD), convert_short_sat_rte(v.sE), convert_short_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtz(short16 v) { - return (short16)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7), convert_short_sat_rtz(v.s8), convert_short_sat_rtz(v.s9), convert_short_sat_rtz(v.sA), convert_short_sat_rtz(v.sB), convert_short_sat_rtz(v.sC), convert_short_sat_rtz(v.sD), convert_short_sat_rtz(v.sE), convert_short_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtp(short16 v) { - return (short16)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7), convert_short_sat_rtp(v.s8), convert_short_sat_rtp(v.s9), convert_short_sat_rtp(v.sA), convert_short_sat_rtp(v.sB), convert_short_sat_rtp(v.sC), convert_short_sat_rtp(v.sD), convert_short_sat_rtp(v.sE), convert_short_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtn(short16 v) { - return (short16)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7), convert_short_sat_rtn(v.s8), convert_short_sat_rtn(v.s9), convert_short_sat_rtn(v.sA), convert_short_sat_rtn(v.sB), convert_short_sat_rtn(v.sC), convert_short_sat_rtn(v.sD), convert_short_sat_rtn(v.sE), convert_short_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rte(short16 v) { - return (ushort16)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7), convert_ushort_sat_rte(v.s8), convert_ushort_sat_rte(v.s9), convert_ushort_sat_rte(v.sA), convert_ushort_sat_rte(v.sB), convert_ushort_sat_rte(v.sC), convert_ushort_sat_rte(v.sD), convert_ushort_sat_rte(v.sE), convert_ushort_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtz(short16 v) { - return (ushort16)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7), convert_ushort_sat_rtz(v.s8), convert_ushort_sat_rtz(v.s9), convert_ushort_sat_rtz(v.sA), convert_ushort_sat_rtz(v.sB), convert_ushort_sat_rtz(v.sC), convert_ushort_sat_rtz(v.sD), convert_ushort_sat_rtz(v.sE), convert_ushort_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtp(short16 v) { - return (ushort16)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7), convert_ushort_sat_rtp(v.s8), convert_ushort_sat_rtp(v.s9), convert_ushort_sat_rtp(v.sA), convert_ushort_sat_rtp(v.sB), convert_ushort_sat_rtp(v.sC), convert_ushort_sat_rtp(v.sD), convert_ushort_sat_rtp(v.sE), convert_ushort_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtn(short16 v) { - return (ushort16)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7), convert_ushort_sat_rtn(v.s8), convert_ushort_sat_rtn(v.s9), convert_ushort_sat_rtn(v.sA), convert_ushort_sat_rtn(v.sB), convert_ushort_sat_rtn(v.sC), convert_ushort_sat_rtn(v.sD), convert_ushort_sat_rtn(v.sE), convert_ushort_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rte(short16 v) { - return (char16)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7), convert_char_sat_rte(v.s8), convert_char_sat_rte(v.s9), convert_char_sat_rte(v.sA), convert_char_sat_rte(v.sB), convert_char_sat_rte(v.sC), convert_char_sat_rte(v.sD), convert_char_sat_rte(v.sE), convert_char_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtz(short16 v) { - return (char16)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7), convert_char_sat_rtz(v.s8), convert_char_sat_rtz(v.s9), convert_char_sat_rtz(v.sA), convert_char_sat_rtz(v.sB), convert_char_sat_rtz(v.sC), convert_char_sat_rtz(v.sD), convert_char_sat_rtz(v.sE), convert_char_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtp(short16 v) { - return (char16)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7), convert_char_sat_rtp(v.s8), convert_char_sat_rtp(v.s9), convert_char_sat_rtp(v.sA), convert_char_sat_rtp(v.sB), convert_char_sat_rtp(v.sC), convert_char_sat_rtp(v.sD), convert_char_sat_rtp(v.sE), convert_char_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtn(short16 v) { - return (char16)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7), convert_char_sat_rtn(v.s8), convert_char_sat_rtn(v.s9), convert_char_sat_rtn(v.sA), convert_char_sat_rtn(v.sB), convert_char_sat_rtn(v.sC), convert_char_sat_rtn(v.sD), convert_char_sat_rtn(v.sE), convert_char_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rte(short16 v) { - return (uchar16)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7), convert_uchar_sat_rte(v.s8), convert_uchar_sat_rte(v.s9), convert_uchar_sat_rte(v.sA), convert_uchar_sat_rte(v.sB), convert_uchar_sat_rte(v.sC), convert_uchar_sat_rte(v.sD), convert_uchar_sat_rte(v.sE), convert_uchar_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtz(short16 v) { - return (uchar16)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7), convert_uchar_sat_rtz(v.s8), convert_uchar_sat_rtz(v.s9), convert_uchar_sat_rtz(v.sA), convert_uchar_sat_rtz(v.sB), convert_uchar_sat_rtz(v.sC), convert_uchar_sat_rtz(v.sD), convert_uchar_sat_rtz(v.sE), convert_uchar_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtp(short16 v) { - return (uchar16)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7), convert_uchar_sat_rtp(v.s8), convert_uchar_sat_rtp(v.s9), convert_uchar_sat_rtp(v.sA), convert_uchar_sat_rtp(v.sB), convert_uchar_sat_rtp(v.sC), convert_uchar_sat_rtp(v.sD), convert_uchar_sat_rtp(v.sE), convert_uchar_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtn(short16 v) { - return (uchar16)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7), convert_uchar_sat_rtn(v.s8), convert_uchar_sat_rtn(v.s9), convert_uchar_sat_rtn(v.sA), convert_uchar_sat_rtn(v.sB), convert_uchar_sat_rtn(v.sC), convert_uchar_sat_rtn(v.sD), convert_uchar_sat_rtn(v.sE), convert_uchar_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rte(ushort16 v) { - return (long16)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7), convert_long_sat_rte(v.s8), convert_long_sat_rte(v.s9), convert_long_sat_rte(v.sA), convert_long_sat_rte(v.sB), convert_long_sat_rte(v.sC), convert_long_sat_rte(v.sD), convert_long_sat_rte(v.sE), convert_long_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtz(ushort16 v) { - return (long16)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7), convert_long_sat_rtz(v.s8), convert_long_sat_rtz(v.s9), convert_long_sat_rtz(v.sA), convert_long_sat_rtz(v.sB), convert_long_sat_rtz(v.sC), convert_long_sat_rtz(v.sD), convert_long_sat_rtz(v.sE), convert_long_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtp(ushort16 v) { - return (long16)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7), convert_long_sat_rtp(v.s8), convert_long_sat_rtp(v.s9), convert_long_sat_rtp(v.sA), convert_long_sat_rtp(v.sB), convert_long_sat_rtp(v.sC), convert_long_sat_rtp(v.sD), convert_long_sat_rtp(v.sE), convert_long_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtn(ushort16 v) { - return (long16)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7), convert_long_sat_rtn(v.s8), convert_long_sat_rtn(v.s9), convert_long_sat_rtn(v.sA), convert_long_sat_rtn(v.sB), convert_long_sat_rtn(v.sC), convert_long_sat_rtn(v.sD), convert_long_sat_rtn(v.sE), convert_long_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rte(ushort16 v) { - return (ulong16)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7), convert_ulong_sat_rte(v.s8), convert_ulong_sat_rte(v.s9), convert_ulong_sat_rte(v.sA), convert_ulong_sat_rte(v.sB), convert_ulong_sat_rte(v.sC), convert_ulong_sat_rte(v.sD), convert_ulong_sat_rte(v.sE), convert_ulong_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtz(ushort16 v) { - return (ulong16)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7), convert_ulong_sat_rtz(v.s8), convert_ulong_sat_rtz(v.s9), convert_ulong_sat_rtz(v.sA), convert_ulong_sat_rtz(v.sB), convert_ulong_sat_rtz(v.sC), convert_ulong_sat_rtz(v.sD), convert_ulong_sat_rtz(v.sE), convert_ulong_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtp(ushort16 v) { - return (ulong16)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7), convert_ulong_sat_rtp(v.s8), convert_ulong_sat_rtp(v.s9), convert_ulong_sat_rtp(v.sA), convert_ulong_sat_rtp(v.sB), convert_ulong_sat_rtp(v.sC), convert_ulong_sat_rtp(v.sD), convert_ulong_sat_rtp(v.sE), convert_ulong_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtn(ushort16 v) { - return (ulong16)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7), convert_ulong_sat_rtn(v.s8), convert_ulong_sat_rtn(v.s9), convert_ulong_sat_rtn(v.sA), convert_ulong_sat_rtn(v.sB), convert_ulong_sat_rtn(v.sC), convert_ulong_sat_rtn(v.sD), convert_ulong_sat_rtn(v.sE), convert_ulong_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rte(ushort16 v) { - return (int16)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7), convert_int_sat_rte(v.s8), convert_int_sat_rte(v.s9), convert_int_sat_rte(v.sA), convert_int_sat_rte(v.sB), convert_int_sat_rte(v.sC), convert_int_sat_rte(v.sD), convert_int_sat_rte(v.sE), convert_int_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtz(ushort16 v) { - return (int16)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7), convert_int_sat_rtz(v.s8), convert_int_sat_rtz(v.s9), convert_int_sat_rtz(v.sA), convert_int_sat_rtz(v.sB), convert_int_sat_rtz(v.sC), convert_int_sat_rtz(v.sD), convert_int_sat_rtz(v.sE), convert_int_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtp(ushort16 v) { - return (int16)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7), convert_int_sat_rtp(v.s8), convert_int_sat_rtp(v.s9), convert_int_sat_rtp(v.sA), convert_int_sat_rtp(v.sB), convert_int_sat_rtp(v.sC), convert_int_sat_rtp(v.sD), convert_int_sat_rtp(v.sE), convert_int_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtn(ushort16 v) { - return (int16)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7), convert_int_sat_rtn(v.s8), convert_int_sat_rtn(v.s9), convert_int_sat_rtn(v.sA), convert_int_sat_rtn(v.sB), convert_int_sat_rtn(v.sC), convert_int_sat_rtn(v.sD), convert_int_sat_rtn(v.sE), convert_int_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rte(ushort16 v) { - return (uint16)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7), convert_uint_sat_rte(v.s8), convert_uint_sat_rte(v.s9), convert_uint_sat_rte(v.sA), convert_uint_sat_rte(v.sB), convert_uint_sat_rte(v.sC), convert_uint_sat_rte(v.sD), convert_uint_sat_rte(v.sE), convert_uint_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtz(ushort16 v) { - return (uint16)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7), convert_uint_sat_rtz(v.s8), convert_uint_sat_rtz(v.s9), convert_uint_sat_rtz(v.sA), convert_uint_sat_rtz(v.sB), convert_uint_sat_rtz(v.sC), convert_uint_sat_rtz(v.sD), convert_uint_sat_rtz(v.sE), convert_uint_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtp(ushort16 v) { - return (uint16)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7), convert_uint_sat_rtp(v.s8), convert_uint_sat_rtp(v.s9), convert_uint_sat_rtp(v.sA), convert_uint_sat_rtp(v.sB), convert_uint_sat_rtp(v.sC), convert_uint_sat_rtp(v.sD), convert_uint_sat_rtp(v.sE), convert_uint_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtn(ushort16 v) { - return (uint16)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7), convert_uint_sat_rtn(v.s8), convert_uint_sat_rtn(v.s9), convert_uint_sat_rtn(v.sA), convert_uint_sat_rtn(v.sB), convert_uint_sat_rtn(v.sC), convert_uint_sat_rtn(v.sD), convert_uint_sat_rtn(v.sE), convert_uint_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rte(ushort16 v) { - return (short16)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7), convert_short_sat_rte(v.s8), convert_short_sat_rte(v.s9), convert_short_sat_rte(v.sA), convert_short_sat_rte(v.sB), convert_short_sat_rte(v.sC), convert_short_sat_rte(v.sD), convert_short_sat_rte(v.sE), convert_short_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtz(ushort16 v) { - return (short16)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7), convert_short_sat_rtz(v.s8), convert_short_sat_rtz(v.s9), convert_short_sat_rtz(v.sA), convert_short_sat_rtz(v.sB), convert_short_sat_rtz(v.sC), convert_short_sat_rtz(v.sD), convert_short_sat_rtz(v.sE), convert_short_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtp(ushort16 v) { - return (short16)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7), convert_short_sat_rtp(v.s8), convert_short_sat_rtp(v.s9), convert_short_sat_rtp(v.sA), convert_short_sat_rtp(v.sB), convert_short_sat_rtp(v.sC), convert_short_sat_rtp(v.sD), convert_short_sat_rtp(v.sE), convert_short_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtn(ushort16 v) { - return (short16)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7), convert_short_sat_rtn(v.s8), convert_short_sat_rtn(v.s9), convert_short_sat_rtn(v.sA), convert_short_sat_rtn(v.sB), convert_short_sat_rtn(v.sC), convert_short_sat_rtn(v.sD), convert_short_sat_rtn(v.sE), convert_short_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rte(ushort16 v) { - return (ushort16)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7), convert_ushort_sat_rte(v.s8), convert_ushort_sat_rte(v.s9), convert_ushort_sat_rte(v.sA), convert_ushort_sat_rte(v.sB), convert_ushort_sat_rte(v.sC), convert_ushort_sat_rte(v.sD), convert_ushort_sat_rte(v.sE), convert_ushort_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtz(ushort16 v) { - return (ushort16)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7), convert_ushort_sat_rtz(v.s8), convert_ushort_sat_rtz(v.s9), convert_ushort_sat_rtz(v.sA), convert_ushort_sat_rtz(v.sB), convert_ushort_sat_rtz(v.sC), convert_ushort_sat_rtz(v.sD), convert_ushort_sat_rtz(v.sE), convert_ushort_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtp(ushort16 v) { - return (ushort16)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7), convert_ushort_sat_rtp(v.s8), convert_ushort_sat_rtp(v.s9), convert_ushort_sat_rtp(v.sA), convert_ushort_sat_rtp(v.sB), convert_ushort_sat_rtp(v.sC), convert_ushort_sat_rtp(v.sD), convert_ushort_sat_rtp(v.sE), convert_ushort_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtn(ushort16 v) { - return (ushort16)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7), convert_ushort_sat_rtn(v.s8), convert_ushort_sat_rtn(v.s9), convert_ushort_sat_rtn(v.sA), convert_ushort_sat_rtn(v.sB), convert_ushort_sat_rtn(v.sC), convert_ushort_sat_rtn(v.sD), convert_ushort_sat_rtn(v.sE), convert_ushort_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rte(ushort16 v) { - return (char16)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7), convert_char_sat_rte(v.s8), convert_char_sat_rte(v.s9), convert_char_sat_rte(v.sA), convert_char_sat_rte(v.sB), convert_char_sat_rte(v.sC), convert_char_sat_rte(v.sD), convert_char_sat_rte(v.sE), convert_char_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtz(ushort16 v) { - return (char16)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7), convert_char_sat_rtz(v.s8), convert_char_sat_rtz(v.s9), convert_char_sat_rtz(v.sA), convert_char_sat_rtz(v.sB), convert_char_sat_rtz(v.sC), convert_char_sat_rtz(v.sD), convert_char_sat_rtz(v.sE), convert_char_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtp(ushort16 v) { - return (char16)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7), convert_char_sat_rtp(v.s8), convert_char_sat_rtp(v.s9), convert_char_sat_rtp(v.sA), convert_char_sat_rtp(v.sB), convert_char_sat_rtp(v.sC), convert_char_sat_rtp(v.sD), convert_char_sat_rtp(v.sE), convert_char_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtn(ushort16 v) { - return (char16)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7), convert_char_sat_rtn(v.s8), convert_char_sat_rtn(v.s9), convert_char_sat_rtn(v.sA), convert_char_sat_rtn(v.sB), convert_char_sat_rtn(v.sC), convert_char_sat_rtn(v.sD), convert_char_sat_rtn(v.sE), convert_char_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rte(ushort16 v) { - return (uchar16)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7), convert_uchar_sat_rte(v.s8), convert_uchar_sat_rte(v.s9), convert_uchar_sat_rte(v.sA), convert_uchar_sat_rte(v.sB), convert_uchar_sat_rte(v.sC), convert_uchar_sat_rte(v.sD), convert_uchar_sat_rte(v.sE), convert_uchar_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtz(ushort16 v) { - return (uchar16)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7), convert_uchar_sat_rtz(v.s8), convert_uchar_sat_rtz(v.s9), convert_uchar_sat_rtz(v.sA), convert_uchar_sat_rtz(v.sB), convert_uchar_sat_rtz(v.sC), convert_uchar_sat_rtz(v.sD), convert_uchar_sat_rtz(v.sE), convert_uchar_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtp(ushort16 v) { - return (uchar16)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7), convert_uchar_sat_rtp(v.s8), convert_uchar_sat_rtp(v.s9), convert_uchar_sat_rtp(v.sA), convert_uchar_sat_rtp(v.sB), convert_uchar_sat_rtp(v.sC), convert_uchar_sat_rtp(v.sD), convert_uchar_sat_rtp(v.sE), convert_uchar_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtn(ushort16 v) { - return (uchar16)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7), convert_uchar_sat_rtn(v.s8), convert_uchar_sat_rtn(v.s9), convert_uchar_sat_rtn(v.sA), convert_uchar_sat_rtn(v.sB), convert_uchar_sat_rtn(v.sC), convert_uchar_sat_rtn(v.sD), convert_uchar_sat_rtn(v.sE), convert_uchar_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rte(char16 v) { - return (long16)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7), convert_long_sat_rte(v.s8), convert_long_sat_rte(v.s9), convert_long_sat_rte(v.sA), convert_long_sat_rte(v.sB), convert_long_sat_rte(v.sC), convert_long_sat_rte(v.sD), convert_long_sat_rte(v.sE), convert_long_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtz(char16 v) { - return (long16)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7), convert_long_sat_rtz(v.s8), convert_long_sat_rtz(v.s9), convert_long_sat_rtz(v.sA), convert_long_sat_rtz(v.sB), convert_long_sat_rtz(v.sC), convert_long_sat_rtz(v.sD), convert_long_sat_rtz(v.sE), convert_long_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtp(char16 v) { - return (long16)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7), convert_long_sat_rtp(v.s8), convert_long_sat_rtp(v.s9), convert_long_sat_rtp(v.sA), convert_long_sat_rtp(v.sB), convert_long_sat_rtp(v.sC), convert_long_sat_rtp(v.sD), convert_long_sat_rtp(v.sE), convert_long_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtn(char16 v) { - return (long16)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7), convert_long_sat_rtn(v.s8), convert_long_sat_rtn(v.s9), convert_long_sat_rtn(v.sA), convert_long_sat_rtn(v.sB), convert_long_sat_rtn(v.sC), convert_long_sat_rtn(v.sD), convert_long_sat_rtn(v.sE), convert_long_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rte(char16 v) { - return (ulong16)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7), convert_ulong_sat_rte(v.s8), convert_ulong_sat_rte(v.s9), convert_ulong_sat_rte(v.sA), convert_ulong_sat_rte(v.sB), convert_ulong_sat_rte(v.sC), convert_ulong_sat_rte(v.sD), convert_ulong_sat_rte(v.sE), convert_ulong_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtz(char16 v) { - return (ulong16)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7), convert_ulong_sat_rtz(v.s8), convert_ulong_sat_rtz(v.s9), convert_ulong_sat_rtz(v.sA), convert_ulong_sat_rtz(v.sB), convert_ulong_sat_rtz(v.sC), convert_ulong_sat_rtz(v.sD), convert_ulong_sat_rtz(v.sE), convert_ulong_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtp(char16 v) { - return (ulong16)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7), convert_ulong_sat_rtp(v.s8), convert_ulong_sat_rtp(v.s9), convert_ulong_sat_rtp(v.sA), convert_ulong_sat_rtp(v.sB), convert_ulong_sat_rtp(v.sC), convert_ulong_sat_rtp(v.sD), convert_ulong_sat_rtp(v.sE), convert_ulong_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtn(char16 v) { - return (ulong16)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7), convert_ulong_sat_rtn(v.s8), convert_ulong_sat_rtn(v.s9), convert_ulong_sat_rtn(v.sA), convert_ulong_sat_rtn(v.sB), convert_ulong_sat_rtn(v.sC), convert_ulong_sat_rtn(v.sD), convert_ulong_sat_rtn(v.sE), convert_ulong_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rte(char16 v) { - return (int16)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7), convert_int_sat_rte(v.s8), convert_int_sat_rte(v.s9), convert_int_sat_rte(v.sA), convert_int_sat_rte(v.sB), convert_int_sat_rte(v.sC), convert_int_sat_rte(v.sD), convert_int_sat_rte(v.sE), convert_int_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtz(char16 v) { - return (int16)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7), convert_int_sat_rtz(v.s8), convert_int_sat_rtz(v.s9), convert_int_sat_rtz(v.sA), convert_int_sat_rtz(v.sB), convert_int_sat_rtz(v.sC), convert_int_sat_rtz(v.sD), convert_int_sat_rtz(v.sE), convert_int_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtp(char16 v) { - return (int16)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7), convert_int_sat_rtp(v.s8), convert_int_sat_rtp(v.s9), convert_int_sat_rtp(v.sA), convert_int_sat_rtp(v.sB), convert_int_sat_rtp(v.sC), convert_int_sat_rtp(v.sD), convert_int_sat_rtp(v.sE), convert_int_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtn(char16 v) { - return (int16)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7), convert_int_sat_rtn(v.s8), convert_int_sat_rtn(v.s9), convert_int_sat_rtn(v.sA), convert_int_sat_rtn(v.sB), convert_int_sat_rtn(v.sC), convert_int_sat_rtn(v.sD), convert_int_sat_rtn(v.sE), convert_int_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rte(char16 v) { - return (uint16)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7), convert_uint_sat_rte(v.s8), convert_uint_sat_rte(v.s9), convert_uint_sat_rte(v.sA), convert_uint_sat_rte(v.sB), convert_uint_sat_rte(v.sC), convert_uint_sat_rte(v.sD), convert_uint_sat_rte(v.sE), convert_uint_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtz(char16 v) { - return (uint16)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7), convert_uint_sat_rtz(v.s8), convert_uint_sat_rtz(v.s9), convert_uint_sat_rtz(v.sA), convert_uint_sat_rtz(v.sB), convert_uint_sat_rtz(v.sC), convert_uint_sat_rtz(v.sD), convert_uint_sat_rtz(v.sE), convert_uint_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtp(char16 v) { - return (uint16)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7), convert_uint_sat_rtp(v.s8), convert_uint_sat_rtp(v.s9), convert_uint_sat_rtp(v.sA), convert_uint_sat_rtp(v.sB), convert_uint_sat_rtp(v.sC), convert_uint_sat_rtp(v.sD), convert_uint_sat_rtp(v.sE), convert_uint_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtn(char16 v) { - return (uint16)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7), convert_uint_sat_rtn(v.s8), convert_uint_sat_rtn(v.s9), convert_uint_sat_rtn(v.sA), convert_uint_sat_rtn(v.sB), convert_uint_sat_rtn(v.sC), convert_uint_sat_rtn(v.sD), convert_uint_sat_rtn(v.sE), convert_uint_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rte(char16 v) { - return (short16)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7), convert_short_sat_rte(v.s8), convert_short_sat_rte(v.s9), convert_short_sat_rte(v.sA), convert_short_sat_rte(v.sB), convert_short_sat_rte(v.sC), convert_short_sat_rte(v.sD), convert_short_sat_rte(v.sE), convert_short_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtz(char16 v) { - return (short16)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7), convert_short_sat_rtz(v.s8), convert_short_sat_rtz(v.s9), convert_short_sat_rtz(v.sA), convert_short_sat_rtz(v.sB), convert_short_sat_rtz(v.sC), convert_short_sat_rtz(v.sD), convert_short_sat_rtz(v.sE), convert_short_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtp(char16 v) { - return (short16)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7), convert_short_sat_rtp(v.s8), convert_short_sat_rtp(v.s9), convert_short_sat_rtp(v.sA), convert_short_sat_rtp(v.sB), convert_short_sat_rtp(v.sC), convert_short_sat_rtp(v.sD), convert_short_sat_rtp(v.sE), convert_short_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtn(char16 v) { - return (short16)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7), convert_short_sat_rtn(v.s8), convert_short_sat_rtn(v.s9), convert_short_sat_rtn(v.sA), convert_short_sat_rtn(v.sB), convert_short_sat_rtn(v.sC), convert_short_sat_rtn(v.sD), convert_short_sat_rtn(v.sE), convert_short_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rte(char16 v) { - return (ushort16)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7), convert_ushort_sat_rte(v.s8), convert_ushort_sat_rte(v.s9), convert_ushort_sat_rte(v.sA), convert_ushort_sat_rte(v.sB), convert_ushort_sat_rte(v.sC), convert_ushort_sat_rte(v.sD), convert_ushort_sat_rte(v.sE), convert_ushort_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtz(char16 v) { - return (ushort16)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7), convert_ushort_sat_rtz(v.s8), convert_ushort_sat_rtz(v.s9), convert_ushort_sat_rtz(v.sA), convert_ushort_sat_rtz(v.sB), convert_ushort_sat_rtz(v.sC), convert_ushort_sat_rtz(v.sD), convert_ushort_sat_rtz(v.sE), convert_ushort_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtp(char16 v) { - return (ushort16)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7), convert_ushort_sat_rtp(v.s8), convert_ushort_sat_rtp(v.s9), convert_ushort_sat_rtp(v.sA), convert_ushort_sat_rtp(v.sB), convert_ushort_sat_rtp(v.sC), convert_ushort_sat_rtp(v.sD), convert_ushort_sat_rtp(v.sE), convert_ushort_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtn(char16 v) { - return (ushort16)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7), convert_ushort_sat_rtn(v.s8), convert_ushort_sat_rtn(v.s9), convert_ushort_sat_rtn(v.sA), convert_ushort_sat_rtn(v.sB), convert_ushort_sat_rtn(v.sC), convert_ushort_sat_rtn(v.sD), convert_ushort_sat_rtn(v.sE), convert_ushort_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rte(char16 v) { - return (char16)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7), convert_char_sat_rte(v.s8), convert_char_sat_rte(v.s9), convert_char_sat_rte(v.sA), convert_char_sat_rte(v.sB), convert_char_sat_rte(v.sC), convert_char_sat_rte(v.sD), convert_char_sat_rte(v.sE), convert_char_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtz(char16 v) { - return (char16)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7), convert_char_sat_rtz(v.s8), convert_char_sat_rtz(v.s9), convert_char_sat_rtz(v.sA), convert_char_sat_rtz(v.sB), convert_char_sat_rtz(v.sC), convert_char_sat_rtz(v.sD), convert_char_sat_rtz(v.sE), convert_char_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtp(char16 v) { - return (char16)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7), convert_char_sat_rtp(v.s8), convert_char_sat_rtp(v.s9), convert_char_sat_rtp(v.sA), convert_char_sat_rtp(v.sB), convert_char_sat_rtp(v.sC), convert_char_sat_rtp(v.sD), convert_char_sat_rtp(v.sE), convert_char_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtn(char16 v) { - return (char16)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7), convert_char_sat_rtn(v.s8), convert_char_sat_rtn(v.s9), convert_char_sat_rtn(v.sA), convert_char_sat_rtn(v.sB), convert_char_sat_rtn(v.sC), convert_char_sat_rtn(v.sD), convert_char_sat_rtn(v.sE), convert_char_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rte(char16 v) { - return (uchar16)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7), convert_uchar_sat_rte(v.s8), convert_uchar_sat_rte(v.s9), convert_uchar_sat_rte(v.sA), convert_uchar_sat_rte(v.sB), convert_uchar_sat_rte(v.sC), convert_uchar_sat_rte(v.sD), convert_uchar_sat_rte(v.sE), convert_uchar_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtz(char16 v) { - return (uchar16)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7), convert_uchar_sat_rtz(v.s8), convert_uchar_sat_rtz(v.s9), convert_uchar_sat_rtz(v.sA), convert_uchar_sat_rtz(v.sB), convert_uchar_sat_rtz(v.sC), convert_uchar_sat_rtz(v.sD), convert_uchar_sat_rtz(v.sE), convert_uchar_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtp(char16 v) { - return (uchar16)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7), convert_uchar_sat_rtp(v.s8), convert_uchar_sat_rtp(v.s9), convert_uchar_sat_rtp(v.sA), convert_uchar_sat_rtp(v.sB), convert_uchar_sat_rtp(v.sC), convert_uchar_sat_rtp(v.sD), convert_uchar_sat_rtp(v.sE), convert_uchar_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtn(char16 v) { - return (uchar16)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7), convert_uchar_sat_rtn(v.s8), convert_uchar_sat_rtn(v.s9), convert_uchar_sat_rtn(v.sA), convert_uchar_sat_rtn(v.sB), convert_uchar_sat_rtn(v.sC), convert_uchar_sat_rtn(v.sD), convert_uchar_sat_rtn(v.sE), convert_uchar_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rte(uchar16 v) { - return (long16)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7), convert_long_sat_rte(v.s8), convert_long_sat_rte(v.s9), convert_long_sat_rte(v.sA), convert_long_sat_rte(v.sB), convert_long_sat_rte(v.sC), convert_long_sat_rte(v.sD), convert_long_sat_rte(v.sE), convert_long_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtz(uchar16 v) { - return (long16)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7), convert_long_sat_rtz(v.s8), convert_long_sat_rtz(v.s9), convert_long_sat_rtz(v.sA), convert_long_sat_rtz(v.sB), convert_long_sat_rtz(v.sC), convert_long_sat_rtz(v.sD), convert_long_sat_rtz(v.sE), convert_long_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtp(uchar16 v) { - return (long16)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7), convert_long_sat_rtp(v.s8), convert_long_sat_rtp(v.s9), convert_long_sat_rtp(v.sA), convert_long_sat_rtp(v.sB), convert_long_sat_rtp(v.sC), convert_long_sat_rtp(v.sD), convert_long_sat_rtp(v.sE), convert_long_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtn(uchar16 v) { - return (long16)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7), convert_long_sat_rtn(v.s8), convert_long_sat_rtn(v.s9), convert_long_sat_rtn(v.sA), convert_long_sat_rtn(v.sB), convert_long_sat_rtn(v.sC), convert_long_sat_rtn(v.sD), convert_long_sat_rtn(v.sE), convert_long_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rte(uchar16 v) { - return (ulong16)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7), convert_ulong_sat_rte(v.s8), convert_ulong_sat_rte(v.s9), convert_ulong_sat_rte(v.sA), convert_ulong_sat_rte(v.sB), convert_ulong_sat_rte(v.sC), convert_ulong_sat_rte(v.sD), convert_ulong_sat_rte(v.sE), convert_ulong_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtz(uchar16 v) { - return (ulong16)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7), convert_ulong_sat_rtz(v.s8), convert_ulong_sat_rtz(v.s9), convert_ulong_sat_rtz(v.sA), convert_ulong_sat_rtz(v.sB), convert_ulong_sat_rtz(v.sC), convert_ulong_sat_rtz(v.sD), convert_ulong_sat_rtz(v.sE), convert_ulong_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtp(uchar16 v) { - return (ulong16)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7), convert_ulong_sat_rtp(v.s8), convert_ulong_sat_rtp(v.s9), convert_ulong_sat_rtp(v.sA), convert_ulong_sat_rtp(v.sB), convert_ulong_sat_rtp(v.sC), convert_ulong_sat_rtp(v.sD), convert_ulong_sat_rtp(v.sE), convert_ulong_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtn(uchar16 v) { - return (ulong16)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7), convert_ulong_sat_rtn(v.s8), convert_ulong_sat_rtn(v.s9), convert_ulong_sat_rtn(v.sA), convert_ulong_sat_rtn(v.sB), convert_ulong_sat_rtn(v.sC), convert_ulong_sat_rtn(v.sD), convert_ulong_sat_rtn(v.sE), convert_ulong_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rte(uchar16 v) { - return (int16)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7), convert_int_sat_rte(v.s8), convert_int_sat_rte(v.s9), convert_int_sat_rte(v.sA), convert_int_sat_rte(v.sB), convert_int_sat_rte(v.sC), convert_int_sat_rte(v.sD), convert_int_sat_rte(v.sE), convert_int_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtz(uchar16 v) { - return (int16)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7), convert_int_sat_rtz(v.s8), convert_int_sat_rtz(v.s9), convert_int_sat_rtz(v.sA), convert_int_sat_rtz(v.sB), convert_int_sat_rtz(v.sC), convert_int_sat_rtz(v.sD), convert_int_sat_rtz(v.sE), convert_int_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtp(uchar16 v) { - return (int16)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7), convert_int_sat_rtp(v.s8), convert_int_sat_rtp(v.s9), convert_int_sat_rtp(v.sA), convert_int_sat_rtp(v.sB), convert_int_sat_rtp(v.sC), convert_int_sat_rtp(v.sD), convert_int_sat_rtp(v.sE), convert_int_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtn(uchar16 v) { - return (int16)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7), convert_int_sat_rtn(v.s8), convert_int_sat_rtn(v.s9), convert_int_sat_rtn(v.sA), convert_int_sat_rtn(v.sB), convert_int_sat_rtn(v.sC), convert_int_sat_rtn(v.sD), convert_int_sat_rtn(v.sE), convert_int_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rte(uchar16 v) { - return (uint16)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7), convert_uint_sat_rte(v.s8), convert_uint_sat_rte(v.s9), convert_uint_sat_rte(v.sA), convert_uint_sat_rte(v.sB), convert_uint_sat_rte(v.sC), convert_uint_sat_rte(v.sD), convert_uint_sat_rte(v.sE), convert_uint_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtz(uchar16 v) { - return (uint16)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7), convert_uint_sat_rtz(v.s8), convert_uint_sat_rtz(v.s9), convert_uint_sat_rtz(v.sA), convert_uint_sat_rtz(v.sB), convert_uint_sat_rtz(v.sC), convert_uint_sat_rtz(v.sD), convert_uint_sat_rtz(v.sE), convert_uint_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtp(uchar16 v) { - return (uint16)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7), convert_uint_sat_rtp(v.s8), convert_uint_sat_rtp(v.s9), convert_uint_sat_rtp(v.sA), convert_uint_sat_rtp(v.sB), convert_uint_sat_rtp(v.sC), convert_uint_sat_rtp(v.sD), convert_uint_sat_rtp(v.sE), convert_uint_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtn(uchar16 v) { - return (uint16)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7), convert_uint_sat_rtn(v.s8), convert_uint_sat_rtn(v.s9), convert_uint_sat_rtn(v.sA), convert_uint_sat_rtn(v.sB), convert_uint_sat_rtn(v.sC), convert_uint_sat_rtn(v.sD), convert_uint_sat_rtn(v.sE), convert_uint_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rte(uchar16 v) { - return (short16)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7), convert_short_sat_rte(v.s8), convert_short_sat_rte(v.s9), convert_short_sat_rte(v.sA), convert_short_sat_rte(v.sB), convert_short_sat_rte(v.sC), convert_short_sat_rte(v.sD), convert_short_sat_rte(v.sE), convert_short_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtz(uchar16 v) { - return (short16)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7), convert_short_sat_rtz(v.s8), convert_short_sat_rtz(v.s9), convert_short_sat_rtz(v.sA), convert_short_sat_rtz(v.sB), convert_short_sat_rtz(v.sC), convert_short_sat_rtz(v.sD), convert_short_sat_rtz(v.sE), convert_short_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtp(uchar16 v) { - return (short16)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7), convert_short_sat_rtp(v.s8), convert_short_sat_rtp(v.s9), convert_short_sat_rtp(v.sA), convert_short_sat_rtp(v.sB), convert_short_sat_rtp(v.sC), convert_short_sat_rtp(v.sD), convert_short_sat_rtp(v.sE), convert_short_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtn(uchar16 v) { - return (short16)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7), convert_short_sat_rtn(v.s8), convert_short_sat_rtn(v.s9), convert_short_sat_rtn(v.sA), convert_short_sat_rtn(v.sB), convert_short_sat_rtn(v.sC), convert_short_sat_rtn(v.sD), convert_short_sat_rtn(v.sE), convert_short_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rte(uchar16 v) { - return (ushort16)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7), convert_ushort_sat_rte(v.s8), convert_ushort_sat_rte(v.s9), convert_ushort_sat_rte(v.sA), convert_ushort_sat_rte(v.sB), convert_ushort_sat_rte(v.sC), convert_ushort_sat_rte(v.sD), convert_ushort_sat_rte(v.sE), convert_ushort_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtz(uchar16 v) { - return (ushort16)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7), convert_ushort_sat_rtz(v.s8), convert_ushort_sat_rtz(v.s9), convert_ushort_sat_rtz(v.sA), convert_ushort_sat_rtz(v.sB), convert_ushort_sat_rtz(v.sC), convert_ushort_sat_rtz(v.sD), convert_ushort_sat_rtz(v.sE), convert_ushort_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtp(uchar16 v) { - return (ushort16)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7), convert_ushort_sat_rtp(v.s8), convert_ushort_sat_rtp(v.s9), convert_ushort_sat_rtp(v.sA), convert_ushort_sat_rtp(v.sB), convert_ushort_sat_rtp(v.sC), convert_ushort_sat_rtp(v.sD), convert_ushort_sat_rtp(v.sE), convert_ushort_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtn(uchar16 v) { - return (ushort16)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7), convert_ushort_sat_rtn(v.s8), convert_ushort_sat_rtn(v.s9), convert_ushort_sat_rtn(v.sA), convert_ushort_sat_rtn(v.sB), convert_ushort_sat_rtn(v.sC), convert_ushort_sat_rtn(v.sD), convert_ushort_sat_rtn(v.sE), convert_ushort_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rte(uchar16 v) { - return (char16)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7), convert_char_sat_rte(v.s8), convert_char_sat_rte(v.s9), convert_char_sat_rte(v.sA), convert_char_sat_rte(v.sB), convert_char_sat_rte(v.sC), convert_char_sat_rte(v.sD), convert_char_sat_rte(v.sE), convert_char_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtz(uchar16 v) { - return (char16)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7), convert_char_sat_rtz(v.s8), convert_char_sat_rtz(v.s9), convert_char_sat_rtz(v.sA), convert_char_sat_rtz(v.sB), convert_char_sat_rtz(v.sC), convert_char_sat_rtz(v.sD), convert_char_sat_rtz(v.sE), convert_char_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtp(uchar16 v) { - return (char16)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7), convert_char_sat_rtp(v.s8), convert_char_sat_rtp(v.s9), convert_char_sat_rtp(v.sA), convert_char_sat_rtp(v.sB), convert_char_sat_rtp(v.sC), convert_char_sat_rtp(v.sD), convert_char_sat_rtp(v.sE), convert_char_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtn(uchar16 v) { - return (char16)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7), convert_char_sat_rtn(v.s8), convert_char_sat_rtn(v.s9), convert_char_sat_rtn(v.sA), convert_char_sat_rtn(v.sB), convert_char_sat_rtn(v.sC), convert_char_sat_rtn(v.sD), convert_char_sat_rtn(v.sE), convert_char_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rte(uchar16 v) { - return (uchar16)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7), convert_uchar_sat_rte(v.s8), convert_uchar_sat_rte(v.s9), convert_uchar_sat_rte(v.sA), convert_uchar_sat_rte(v.sB), convert_uchar_sat_rte(v.sC), convert_uchar_sat_rte(v.sD), convert_uchar_sat_rte(v.sE), convert_uchar_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtz(uchar16 v) { - return (uchar16)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7), convert_uchar_sat_rtz(v.s8), convert_uchar_sat_rtz(v.s9), convert_uchar_sat_rtz(v.sA), convert_uchar_sat_rtz(v.sB), convert_uchar_sat_rtz(v.sC), convert_uchar_sat_rtz(v.sD), convert_uchar_sat_rtz(v.sE), convert_uchar_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtp(uchar16 v) { - return (uchar16)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7), convert_uchar_sat_rtp(v.s8), convert_uchar_sat_rtp(v.s9), convert_uchar_sat_rtp(v.sA), convert_uchar_sat_rtp(v.sB), convert_uchar_sat_rtp(v.sC), convert_uchar_sat_rtp(v.sD), convert_uchar_sat_rtp(v.sE), convert_uchar_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtn(uchar16 v) { - return (uchar16)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7), convert_uchar_sat_rtn(v.s8), convert_uchar_sat_rtn(v.s9), convert_uchar_sat_rtn(v.sA), convert_uchar_sat_rtn(v.sB), convert_uchar_sat_rtn(v.sC), convert_uchar_sat_rtn(v.sD), convert_uchar_sat_rtn(v.sE), convert_uchar_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rte(float16 v) { - return (long16)(convert_long_sat_rte(v.s0), convert_long_sat_rte(v.s1), convert_long_sat_rte(v.s2), convert_long_sat_rte(v.s3), convert_long_sat_rte(v.s4), convert_long_sat_rte(v.s5), convert_long_sat_rte(v.s6), convert_long_sat_rte(v.s7), convert_long_sat_rte(v.s8), convert_long_sat_rte(v.s9), convert_long_sat_rte(v.sA), convert_long_sat_rte(v.sB), convert_long_sat_rte(v.sC), convert_long_sat_rte(v.sD), convert_long_sat_rte(v.sE), convert_long_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtz(float16 v) { - return (long16)(convert_long_sat_rtz(v.s0), convert_long_sat_rtz(v.s1), convert_long_sat_rtz(v.s2), convert_long_sat_rtz(v.s3), convert_long_sat_rtz(v.s4), convert_long_sat_rtz(v.s5), convert_long_sat_rtz(v.s6), convert_long_sat_rtz(v.s7), convert_long_sat_rtz(v.s8), convert_long_sat_rtz(v.s9), convert_long_sat_rtz(v.sA), convert_long_sat_rtz(v.sB), convert_long_sat_rtz(v.sC), convert_long_sat_rtz(v.sD), convert_long_sat_rtz(v.sE), convert_long_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtp(float16 v) { - return (long16)(convert_long_sat_rtp(v.s0), convert_long_sat_rtp(v.s1), convert_long_sat_rtp(v.s2), convert_long_sat_rtp(v.s3), convert_long_sat_rtp(v.s4), convert_long_sat_rtp(v.s5), convert_long_sat_rtp(v.s6), convert_long_sat_rtp(v.s7), convert_long_sat_rtp(v.s8), convert_long_sat_rtp(v.s9), convert_long_sat_rtp(v.sA), convert_long_sat_rtp(v.sB), convert_long_sat_rtp(v.sC), convert_long_sat_rtp(v.sD), convert_long_sat_rtp(v.sE), convert_long_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE long16 convert_long16_sat_rtn(float16 v) { - return (long16)(convert_long_sat_rtn(v.s0), convert_long_sat_rtn(v.s1), convert_long_sat_rtn(v.s2), convert_long_sat_rtn(v.s3), convert_long_sat_rtn(v.s4), convert_long_sat_rtn(v.s5), convert_long_sat_rtn(v.s6), convert_long_sat_rtn(v.s7), convert_long_sat_rtn(v.s8), convert_long_sat_rtn(v.s9), convert_long_sat_rtn(v.sA), convert_long_sat_rtn(v.sB), convert_long_sat_rtn(v.sC), convert_long_sat_rtn(v.sD), convert_long_sat_rtn(v.sE), convert_long_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rte(float16 v) { - return (ulong16)(convert_ulong_sat_rte(v.s0), convert_ulong_sat_rte(v.s1), convert_ulong_sat_rte(v.s2), convert_ulong_sat_rte(v.s3), convert_ulong_sat_rte(v.s4), convert_ulong_sat_rte(v.s5), convert_ulong_sat_rte(v.s6), convert_ulong_sat_rte(v.s7), convert_ulong_sat_rte(v.s8), convert_ulong_sat_rte(v.s9), convert_ulong_sat_rte(v.sA), convert_ulong_sat_rte(v.sB), convert_ulong_sat_rte(v.sC), convert_ulong_sat_rte(v.sD), convert_ulong_sat_rte(v.sE), convert_ulong_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtz(float16 v) { - return (ulong16)(convert_ulong_sat_rtz(v.s0), convert_ulong_sat_rtz(v.s1), convert_ulong_sat_rtz(v.s2), convert_ulong_sat_rtz(v.s3), convert_ulong_sat_rtz(v.s4), convert_ulong_sat_rtz(v.s5), convert_ulong_sat_rtz(v.s6), convert_ulong_sat_rtz(v.s7), convert_ulong_sat_rtz(v.s8), convert_ulong_sat_rtz(v.s9), convert_ulong_sat_rtz(v.sA), convert_ulong_sat_rtz(v.sB), convert_ulong_sat_rtz(v.sC), convert_ulong_sat_rtz(v.sD), convert_ulong_sat_rtz(v.sE), convert_ulong_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtp(float16 v) { - return (ulong16)(convert_ulong_sat_rtp(v.s0), convert_ulong_sat_rtp(v.s1), convert_ulong_sat_rtp(v.s2), convert_ulong_sat_rtp(v.s3), convert_ulong_sat_rtp(v.s4), convert_ulong_sat_rtp(v.s5), convert_ulong_sat_rtp(v.s6), convert_ulong_sat_rtp(v.s7), convert_ulong_sat_rtp(v.s8), convert_ulong_sat_rtp(v.s9), convert_ulong_sat_rtp(v.sA), convert_ulong_sat_rtp(v.sB), convert_ulong_sat_rtp(v.sC), convert_ulong_sat_rtp(v.sD), convert_ulong_sat_rtp(v.sE), convert_ulong_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ulong16 convert_ulong16_sat_rtn(float16 v) { - return (ulong16)(convert_ulong_sat_rtn(v.s0), convert_ulong_sat_rtn(v.s1), convert_ulong_sat_rtn(v.s2), convert_ulong_sat_rtn(v.s3), convert_ulong_sat_rtn(v.s4), convert_ulong_sat_rtn(v.s5), convert_ulong_sat_rtn(v.s6), convert_ulong_sat_rtn(v.s7), convert_ulong_sat_rtn(v.s8), convert_ulong_sat_rtn(v.s9), convert_ulong_sat_rtn(v.sA), convert_ulong_sat_rtn(v.sB), convert_ulong_sat_rtn(v.sC), convert_ulong_sat_rtn(v.sD), convert_ulong_sat_rtn(v.sE), convert_ulong_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rte(float16 v) { - return (int16)(convert_int_sat_rte(v.s0), convert_int_sat_rte(v.s1), convert_int_sat_rte(v.s2), convert_int_sat_rte(v.s3), convert_int_sat_rte(v.s4), convert_int_sat_rte(v.s5), convert_int_sat_rte(v.s6), convert_int_sat_rte(v.s7), convert_int_sat_rte(v.s8), convert_int_sat_rte(v.s9), convert_int_sat_rte(v.sA), convert_int_sat_rte(v.sB), convert_int_sat_rte(v.sC), convert_int_sat_rte(v.sD), convert_int_sat_rte(v.sE), convert_int_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtz(float16 v) { - return (int16)(convert_int_sat_rtz(v.s0), convert_int_sat_rtz(v.s1), convert_int_sat_rtz(v.s2), convert_int_sat_rtz(v.s3), convert_int_sat_rtz(v.s4), convert_int_sat_rtz(v.s5), convert_int_sat_rtz(v.s6), convert_int_sat_rtz(v.s7), convert_int_sat_rtz(v.s8), convert_int_sat_rtz(v.s9), convert_int_sat_rtz(v.sA), convert_int_sat_rtz(v.sB), convert_int_sat_rtz(v.sC), convert_int_sat_rtz(v.sD), convert_int_sat_rtz(v.sE), convert_int_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtp(float16 v) { - return (int16)(convert_int_sat_rtp(v.s0), convert_int_sat_rtp(v.s1), convert_int_sat_rtp(v.s2), convert_int_sat_rtp(v.s3), convert_int_sat_rtp(v.s4), convert_int_sat_rtp(v.s5), convert_int_sat_rtp(v.s6), convert_int_sat_rtp(v.s7), convert_int_sat_rtp(v.s8), convert_int_sat_rtp(v.s9), convert_int_sat_rtp(v.sA), convert_int_sat_rtp(v.sB), convert_int_sat_rtp(v.sC), convert_int_sat_rtp(v.sD), convert_int_sat_rtp(v.sE), convert_int_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE int16 convert_int16_sat_rtn(float16 v) { - return (int16)(convert_int_sat_rtn(v.s0), convert_int_sat_rtn(v.s1), convert_int_sat_rtn(v.s2), convert_int_sat_rtn(v.s3), convert_int_sat_rtn(v.s4), convert_int_sat_rtn(v.s5), convert_int_sat_rtn(v.s6), convert_int_sat_rtn(v.s7), convert_int_sat_rtn(v.s8), convert_int_sat_rtn(v.s9), convert_int_sat_rtn(v.sA), convert_int_sat_rtn(v.sB), convert_int_sat_rtn(v.sC), convert_int_sat_rtn(v.sD), convert_int_sat_rtn(v.sE), convert_int_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rte(float16 v) { - return (uint16)(convert_uint_sat_rte(v.s0), convert_uint_sat_rte(v.s1), convert_uint_sat_rte(v.s2), convert_uint_sat_rte(v.s3), convert_uint_sat_rte(v.s4), convert_uint_sat_rte(v.s5), convert_uint_sat_rte(v.s6), convert_uint_sat_rte(v.s7), convert_uint_sat_rte(v.s8), convert_uint_sat_rte(v.s9), convert_uint_sat_rte(v.sA), convert_uint_sat_rte(v.sB), convert_uint_sat_rte(v.sC), convert_uint_sat_rte(v.sD), convert_uint_sat_rte(v.sE), convert_uint_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtz(float16 v) { - return (uint16)(convert_uint_sat_rtz(v.s0), convert_uint_sat_rtz(v.s1), convert_uint_sat_rtz(v.s2), convert_uint_sat_rtz(v.s3), convert_uint_sat_rtz(v.s4), convert_uint_sat_rtz(v.s5), convert_uint_sat_rtz(v.s6), convert_uint_sat_rtz(v.s7), convert_uint_sat_rtz(v.s8), convert_uint_sat_rtz(v.s9), convert_uint_sat_rtz(v.sA), convert_uint_sat_rtz(v.sB), convert_uint_sat_rtz(v.sC), convert_uint_sat_rtz(v.sD), convert_uint_sat_rtz(v.sE), convert_uint_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtp(float16 v) { - return (uint16)(convert_uint_sat_rtp(v.s0), convert_uint_sat_rtp(v.s1), convert_uint_sat_rtp(v.s2), convert_uint_sat_rtp(v.s3), convert_uint_sat_rtp(v.s4), convert_uint_sat_rtp(v.s5), convert_uint_sat_rtp(v.s6), convert_uint_sat_rtp(v.s7), convert_uint_sat_rtp(v.s8), convert_uint_sat_rtp(v.s9), convert_uint_sat_rtp(v.sA), convert_uint_sat_rtp(v.sB), convert_uint_sat_rtp(v.sC), convert_uint_sat_rtp(v.sD), convert_uint_sat_rtp(v.sE), convert_uint_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uint16 convert_uint16_sat_rtn(float16 v) { - return (uint16)(convert_uint_sat_rtn(v.s0), convert_uint_sat_rtn(v.s1), convert_uint_sat_rtn(v.s2), convert_uint_sat_rtn(v.s3), convert_uint_sat_rtn(v.s4), convert_uint_sat_rtn(v.s5), convert_uint_sat_rtn(v.s6), convert_uint_sat_rtn(v.s7), convert_uint_sat_rtn(v.s8), convert_uint_sat_rtn(v.s9), convert_uint_sat_rtn(v.sA), convert_uint_sat_rtn(v.sB), convert_uint_sat_rtn(v.sC), convert_uint_sat_rtn(v.sD), convert_uint_sat_rtn(v.sE), convert_uint_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rte(float16 v) { - return (short16)(convert_short_sat_rte(v.s0), convert_short_sat_rte(v.s1), convert_short_sat_rte(v.s2), convert_short_sat_rte(v.s3), convert_short_sat_rte(v.s4), convert_short_sat_rte(v.s5), convert_short_sat_rte(v.s6), convert_short_sat_rte(v.s7), convert_short_sat_rte(v.s8), convert_short_sat_rte(v.s9), convert_short_sat_rte(v.sA), convert_short_sat_rte(v.sB), convert_short_sat_rte(v.sC), convert_short_sat_rte(v.sD), convert_short_sat_rte(v.sE), convert_short_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtz(float16 v) { - return (short16)(convert_short_sat_rtz(v.s0), convert_short_sat_rtz(v.s1), convert_short_sat_rtz(v.s2), convert_short_sat_rtz(v.s3), convert_short_sat_rtz(v.s4), convert_short_sat_rtz(v.s5), convert_short_sat_rtz(v.s6), convert_short_sat_rtz(v.s7), convert_short_sat_rtz(v.s8), convert_short_sat_rtz(v.s9), convert_short_sat_rtz(v.sA), convert_short_sat_rtz(v.sB), convert_short_sat_rtz(v.sC), convert_short_sat_rtz(v.sD), convert_short_sat_rtz(v.sE), convert_short_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtp(float16 v) { - return (short16)(convert_short_sat_rtp(v.s0), convert_short_sat_rtp(v.s1), convert_short_sat_rtp(v.s2), convert_short_sat_rtp(v.s3), convert_short_sat_rtp(v.s4), convert_short_sat_rtp(v.s5), convert_short_sat_rtp(v.s6), convert_short_sat_rtp(v.s7), convert_short_sat_rtp(v.s8), convert_short_sat_rtp(v.s9), convert_short_sat_rtp(v.sA), convert_short_sat_rtp(v.sB), convert_short_sat_rtp(v.sC), convert_short_sat_rtp(v.sD), convert_short_sat_rtp(v.sE), convert_short_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE short16 convert_short16_sat_rtn(float16 v) { - return (short16)(convert_short_sat_rtn(v.s0), convert_short_sat_rtn(v.s1), convert_short_sat_rtn(v.s2), convert_short_sat_rtn(v.s3), convert_short_sat_rtn(v.s4), convert_short_sat_rtn(v.s5), convert_short_sat_rtn(v.s6), convert_short_sat_rtn(v.s7), convert_short_sat_rtn(v.s8), convert_short_sat_rtn(v.s9), convert_short_sat_rtn(v.sA), convert_short_sat_rtn(v.sB), convert_short_sat_rtn(v.sC), convert_short_sat_rtn(v.sD), convert_short_sat_rtn(v.sE), convert_short_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rte(float16 v) { - return (ushort16)(convert_ushort_sat_rte(v.s0), convert_ushort_sat_rte(v.s1), convert_ushort_sat_rte(v.s2), convert_ushort_sat_rte(v.s3), convert_ushort_sat_rte(v.s4), convert_ushort_sat_rte(v.s5), convert_ushort_sat_rte(v.s6), convert_ushort_sat_rte(v.s7), convert_ushort_sat_rte(v.s8), convert_ushort_sat_rte(v.s9), convert_ushort_sat_rte(v.sA), convert_ushort_sat_rte(v.sB), convert_ushort_sat_rte(v.sC), convert_ushort_sat_rte(v.sD), convert_ushort_sat_rte(v.sE), convert_ushort_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtz(float16 v) { - return (ushort16)(convert_ushort_sat_rtz(v.s0), convert_ushort_sat_rtz(v.s1), convert_ushort_sat_rtz(v.s2), convert_ushort_sat_rtz(v.s3), convert_ushort_sat_rtz(v.s4), convert_ushort_sat_rtz(v.s5), convert_ushort_sat_rtz(v.s6), convert_ushort_sat_rtz(v.s7), convert_ushort_sat_rtz(v.s8), convert_ushort_sat_rtz(v.s9), convert_ushort_sat_rtz(v.sA), convert_ushort_sat_rtz(v.sB), convert_ushort_sat_rtz(v.sC), convert_ushort_sat_rtz(v.sD), convert_ushort_sat_rtz(v.sE), convert_ushort_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtp(float16 v) { - return (ushort16)(convert_ushort_sat_rtp(v.s0), convert_ushort_sat_rtp(v.s1), convert_ushort_sat_rtp(v.s2), convert_ushort_sat_rtp(v.s3), convert_ushort_sat_rtp(v.s4), convert_ushort_sat_rtp(v.s5), convert_ushort_sat_rtp(v.s6), convert_ushort_sat_rtp(v.s7), convert_ushort_sat_rtp(v.s8), convert_ushort_sat_rtp(v.s9), convert_ushort_sat_rtp(v.sA), convert_ushort_sat_rtp(v.sB), convert_ushort_sat_rtp(v.sC), convert_ushort_sat_rtp(v.sD), convert_ushort_sat_rtp(v.sE), convert_ushort_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE ushort16 convert_ushort16_sat_rtn(float16 v) { - return (ushort16)(convert_ushort_sat_rtn(v.s0), convert_ushort_sat_rtn(v.s1), convert_ushort_sat_rtn(v.s2), convert_ushort_sat_rtn(v.s3), convert_ushort_sat_rtn(v.s4), convert_ushort_sat_rtn(v.s5), convert_ushort_sat_rtn(v.s6), convert_ushort_sat_rtn(v.s7), convert_ushort_sat_rtn(v.s8), convert_ushort_sat_rtn(v.s9), convert_ushort_sat_rtn(v.sA), convert_ushort_sat_rtn(v.sB), convert_ushort_sat_rtn(v.sC), convert_ushort_sat_rtn(v.sD), convert_ushort_sat_rtn(v.sE), convert_ushort_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rte(float16 v) { - return (char16)(convert_char_sat_rte(v.s0), convert_char_sat_rte(v.s1), convert_char_sat_rte(v.s2), convert_char_sat_rte(v.s3), convert_char_sat_rte(v.s4), convert_char_sat_rte(v.s5), convert_char_sat_rte(v.s6), convert_char_sat_rte(v.s7), convert_char_sat_rte(v.s8), convert_char_sat_rte(v.s9), convert_char_sat_rte(v.sA), convert_char_sat_rte(v.sB), convert_char_sat_rte(v.sC), convert_char_sat_rte(v.sD), convert_char_sat_rte(v.sE), convert_char_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtz(float16 v) { - return (char16)(convert_char_sat_rtz(v.s0), convert_char_sat_rtz(v.s1), convert_char_sat_rtz(v.s2), convert_char_sat_rtz(v.s3), convert_char_sat_rtz(v.s4), convert_char_sat_rtz(v.s5), convert_char_sat_rtz(v.s6), convert_char_sat_rtz(v.s7), convert_char_sat_rtz(v.s8), convert_char_sat_rtz(v.s9), convert_char_sat_rtz(v.sA), convert_char_sat_rtz(v.sB), convert_char_sat_rtz(v.sC), convert_char_sat_rtz(v.sD), convert_char_sat_rtz(v.sE), convert_char_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtp(float16 v) { - return (char16)(convert_char_sat_rtp(v.s0), convert_char_sat_rtp(v.s1), convert_char_sat_rtp(v.s2), convert_char_sat_rtp(v.s3), convert_char_sat_rtp(v.s4), convert_char_sat_rtp(v.s5), convert_char_sat_rtp(v.s6), convert_char_sat_rtp(v.s7), convert_char_sat_rtp(v.s8), convert_char_sat_rtp(v.s9), convert_char_sat_rtp(v.sA), convert_char_sat_rtp(v.sB), convert_char_sat_rtp(v.sC), convert_char_sat_rtp(v.sD), convert_char_sat_rtp(v.sE), convert_char_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE char16 convert_char16_sat_rtn(float16 v) { - return (char16)(convert_char_sat_rtn(v.s0), convert_char_sat_rtn(v.s1), convert_char_sat_rtn(v.s2), convert_char_sat_rtn(v.s3), convert_char_sat_rtn(v.s4), convert_char_sat_rtn(v.s5), convert_char_sat_rtn(v.s6), convert_char_sat_rtn(v.s7), convert_char_sat_rtn(v.s8), convert_char_sat_rtn(v.s9), convert_char_sat_rtn(v.sA), convert_char_sat_rtn(v.sB), convert_char_sat_rtn(v.sC), convert_char_sat_rtn(v.sD), convert_char_sat_rtn(v.sE), convert_char_sat_rtn(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rte(float16 v) { - return (uchar16)(convert_uchar_sat_rte(v.s0), convert_uchar_sat_rte(v.s1), convert_uchar_sat_rte(v.s2), convert_uchar_sat_rte(v.s3), convert_uchar_sat_rte(v.s4), convert_uchar_sat_rte(v.s5), convert_uchar_sat_rte(v.s6), convert_uchar_sat_rte(v.s7), convert_uchar_sat_rte(v.s8), convert_uchar_sat_rte(v.s9), convert_uchar_sat_rte(v.sA), convert_uchar_sat_rte(v.sB), convert_uchar_sat_rte(v.sC), convert_uchar_sat_rte(v.sD), convert_uchar_sat_rte(v.sE), convert_uchar_sat_rte(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtz(float16 v) { - return (uchar16)(convert_uchar_sat_rtz(v.s0), convert_uchar_sat_rtz(v.s1), convert_uchar_sat_rtz(v.s2), convert_uchar_sat_rtz(v.s3), convert_uchar_sat_rtz(v.s4), convert_uchar_sat_rtz(v.s5), convert_uchar_sat_rtz(v.s6), convert_uchar_sat_rtz(v.s7), convert_uchar_sat_rtz(v.s8), convert_uchar_sat_rtz(v.s9), convert_uchar_sat_rtz(v.sA), convert_uchar_sat_rtz(v.sB), convert_uchar_sat_rtz(v.sC), convert_uchar_sat_rtz(v.sD), convert_uchar_sat_rtz(v.sE), convert_uchar_sat_rtz(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtp(float16 v) { - return (uchar16)(convert_uchar_sat_rtp(v.s0), convert_uchar_sat_rtp(v.s1), convert_uchar_sat_rtp(v.s2), convert_uchar_sat_rtp(v.s3), convert_uchar_sat_rtp(v.s4), convert_uchar_sat_rtp(v.s5), convert_uchar_sat_rtp(v.s6), convert_uchar_sat_rtp(v.s7), convert_uchar_sat_rtp(v.s8), convert_uchar_sat_rtp(v.s9), convert_uchar_sat_rtp(v.sA), convert_uchar_sat_rtp(v.sB), convert_uchar_sat_rtp(v.sC), convert_uchar_sat_rtp(v.sD), convert_uchar_sat_rtp(v.sE), convert_uchar_sat_rtp(v.sF)); -} - -INLINE OVERLOADABLE uchar16 convert_uchar16_sat_rtn(float16 v) { - return (uchar16)(convert_uchar_sat_rtn(v.s0), convert_uchar_sat_rtn(v.s1), convert_uchar_sat_rtn(v.s2), convert_uchar_sat_rtn(v.s3), convert_uchar_sat_rtn(v.s4), convert_uchar_sat_rtn(v.s5), convert_uchar_sat_rtn(v.s6), convert_uchar_sat_rtn(v.s7), convert_uchar_sat_rtn(v.s8), convert_uchar_sat_rtn(v.s9), convert_uchar_sat_rtn(v.sA), convert_uchar_sat_rtn(v.sB), convert_uchar_sat_rtn(v.sC), convert_uchar_sat_rtn(v.sD), convert_uchar_sat_rtn(v.sE), convert_uchar_sat_rtn(v.sF)); -} - diff --git a/backend/src/ocl_memcpy.ll b/backend/src/ocl_memcpy.ll deleted file mode 100644 index 476033e..0000000 --- a/backend/src/ocl_memcpy.ll +++ /dev/null @@ -1,336 +0,0 @@ -;The memcpy's source code. -; INLINE_OVERLOADABLE void __gen_memcpy(uchar* dst, uchar* src, size_t size) { -; size_t index = 0; -; while((index + 4) >= size) { -; *((uint *)(dst + index)) = *((uint *)(src + index)); -; index += 4; -; } -; while(index < size) { -; dst[index] = src[index]; -; index++; -; } -; } - -define void @__gen_memcpy_gg(i8 addrspace(1)* %dst, i8 addrspace(1)* %src, i32 %size) nounwind alwaysinline { -entry: - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond3, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(1)* %src, i32 %index.0 - %0 = bitcast i8 addrspace(1)* %add.ptr to i32 addrspace(1)* - %1 = load i32 addrspace(1)* %0, align 4 - %add.ptr1 = getelementptr inbounds i8 addrspace(1)* %dst, i32 %index.0 - %2 = bitcast i8 addrspace(1)* %add.ptr1 to i32 addrspace(1)* - store i32 %1, i32 addrspace(1)* %2, align 4 - br label %while.cond - -while.cond3: ; preds = %while.cond, %while.body5 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body5 ] - %cmp4 = icmp ult i32 %index.1, %size - br i1 %cmp4, label %while.body5, label %while.end7 - -while.body5: ; preds = %while.cond3 - %arrayidx = getelementptr inbounds i8 addrspace(1)* %src, i32 %index.1 - %3 = load i8 addrspace(1)* %arrayidx, align 1 - %arrayidx6 = getelementptr inbounds i8 addrspace(1)* %dst, i32 %index.1 - store i8 %3, i8 addrspace(1)* %arrayidx6, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond3 - -while.end7: ; preds = %while.cond3 - ret void -} - -define void @__gen_memcpy_gp(i8 addrspace(1)* %dst, i8 addrspace(0)* %src, i32 %size) nounwind alwaysinline { -entry: - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond3, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(0)* %src, i32 %index.0 - %0 = bitcast i8 addrspace(0)* %add.ptr to i32 addrspace(0)* - %1 = load i32 addrspace(0)* %0, align 4 - %add.ptr1 = getelementptr inbounds i8 addrspace(1)* %dst, i32 %index.0 - %2 = bitcast i8 addrspace(1)* %add.ptr1 to i32 addrspace(1)* - store i32 %1, i32 addrspace(1)* %2, align 4 - br label %while.cond - -while.cond3: ; preds = %while.cond, %while.body5 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body5 ] - %cmp4 = icmp ult i32 %index.1, %size - br i1 %cmp4, label %while.body5, label %while.end7 - -while.body5: ; preds = %while.cond3 - %arrayidx = getelementptr inbounds i8 addrspace(0)* %src, i32 %index.1 - %3 = load i8 addrspace(0)* %arrayidx, align 1 - %arrayidx6 = getelementptr inbounds i8 addrspace(1)* %dst, i32 %index.1 - store i8 %3, i8 addrspace(1)* %arrayidx6, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond3 - -while.end7: ; preds = %while.cond3 - ret void -} - -define void @__gen_memcpy_gl(i8 addrspace(1)* %dst, i8 addrspace(3)* %src, i32 %size) nounwind alwaysinline { -entry: - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond3, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(3)* %src, i32 %index.0 - %0 = bitcast i8 addrspace(3)* %add.ptr to i32 addrspace(3)* - %1 = load i32 addrspace(3)* %0, align 4 - %add.ptr1 = getelementptr inbounds i8 addrspace(1)* %dst, i32 %index.0 - %2 = bitcast i8 addrspace(1)* %add.ptr1 to i32 addrspace(1)* - store i32 %1, i32 addrspace(1)* %2, align 4 - br label %while.cond - -while.cond3: ; preds = %while.cond, %while.body5 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body5 ] - %cmp4 = icmp ult i32 %index.1, %size - br i1 %cmp4, label %while.body5, label %while.end7 - -while.body5: ; preds = %while.cond3 - %arrayidx = getelementptr inbounds i8 addrspace(3)* %src, i32 %index.1 - %3 = load i8 addrspace(3)* %arrayidx, align 1 - %arrayidx6 = getelementptr inbounds i8 addrspace(1)* %dst, i32 %index.1 - store i8 %3, i8 addrspace(1)* %arrayidx6, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond3 - -while.end7: ; preds = %while.cond3 - ret void -} - -define void @__gen_memcpy_pg(i8 addrspace(0)* %dst, i8 addrspace(1)* %src, i32 %size) nounwind alwaysinline { -entry: - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond3, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(1)* %src, i32 %index.0 - %0 = bitcast i8 addrspace(1)* %add.ptr to i32 addrspace(1)* - %1 = load i32 addrspace(1)* %0, align 4 - %add.ptr1 = getelementptr inbounds i8 addrspace(0)* %dst, i32 %index.0 - %2 = bitcast i8 addrspace(0)* %add.ptr1 to i32 addrspace(0)* - store i32 %1, i32 addrspace(0)* %2, align 4 - br label %while.cond - -while.cond3: ; preds = %while.cond, %while.body5 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body5 ] - %cmp4 = icmp ult i32 %index.1, %size - br i1 %cmp4, label %while.body5, label %while.end7 - -while.body5: ; preds = %while.cond3 - %arrayidx = getelementptr inbounds i8 addrspace(1)* %src, i32 %index.1 - %3 = load i8 addrspace(1)* %arrayidx, align 1 - %arrayidx6 = getelementptr inbounds i8 addrspace(0)* %dst, i32 %index.1 - store i8 %3, i8 addrspace(0)* %arrayidx6, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond3 - -while.end7: ; preds = %while.cond3 - ret void -} - -define void @__gen_memcpy_pp(i8 addrspace(0)* %dst, i8 addrspace(0)* %src, i32 %size) nounwind alwaysinline { -entry: - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond3, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(0)* %src, i32 %index.0 - %0 = bitcast i8 addrspace(0)* %add.ptr to i32 addrspace(0)* - %1 = load i32 addrspace(0)* %0, align 4 - %add.ptr1 = getelementptr inbounds i8 addrspace(0)* %dst, i32 %index.0 - %2 = bitcast i8 addrspace(0)* %add.ptr1 to i32 addrspace(0)* - store i32 %1, i32 addrspace(0)* %2, align 4 - br label %while.cond - -while.cond3: ; preds = %while.cond, %while.body5 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body5 ] - %cmp4 = icmp ult i32 %index.1, %size - br i1 %cmp4, label %while.body5, label %while.end7 - -while.body5: ; preds = %while.cond3 - %arrayidx = getelementptr inbounds i8 addrspace(0)* %src, i32 %index.1 - %3 = load i8 addrspace(0)* %arrayidx, align 1 - %arrayidx6 = getelementptr inbounds i8 addrspace(0)* %dst, i32 %index.1 - store i8 %3, i8 addrspace(0)* %arrayidx6, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond3 - -while.end7: ; preds = %while.cond3 - ret void -} - -define void @__gen_memcpy_pl(i8 addrspace(0)* %dst, i8 addrspace(3)* %src, i32 %size) nounwind alwaysinline { -entry: - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond3, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(3)* %src, i32 %index.0 - %0 = bitcast i8 addrspace(3)* %add.ptr to i32 addrspace(3)* - %1 = load i32 addrspace(3)* %0, align 4 - %add.ptr1 = getelementptr inbounds i8 addrspace(0)* %dst, i32 %index.0 - %2 = bitcast i8 addrspace(0)* %add.ptr1 to i32 addrspace(0)* - store i32 %1, i32 addrspace(0)* %2, align 4 - br label %while.cond - -while.cond3: ; preds = %while.cond, %while.body5 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body5 ] - %cmp4 = icmp ult i32 %index.1, %size - br i1 %cmp4, label %while.body5, label %while.end7 - -while.body5: ; preds = %while.cond3 - %arrayidx = getelementptr inbounds i8 addrspace(3)* %src, i32 %index.1 - %3 = load i8 addrspace(3)* %arrayidx, align 1 - %arrayidx6 = getelementptr inbounds i8 addrspace(0)* %dst, i32 %index.1 - store i8 %3, i8 addrspace(0)* %arrayidx6, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond3 - -while.end7: ; preds = %while.cond3 - ret void -} - -define void @__gen_memcpy_lg(i8 addrspace(3)* %dst, i8 addrspace(1)* %src, i32 %size) nounwind alwaysinline { -entry: - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond3, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(1)* %src, i32 %index.0 - %0 = bitcast i8 addrspace(1)* %add.ptr to i32 addrspace(1)* - %1 = load i32 addrspace(1)* %0, align 4 - %add.ptr1 = getelementptr inbounds i8 addrspace(3)* %dst, i32 %index.0 - %2 = bitcast i8 addrspace(3)* %add.ptr1 to i32 addrspace(3)* - store i32 %1, i32 addrspace(3)* %2, align 4 - br label %while.cond - -while.cond3: ; preds = %while.cond, %while.body5 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body5 ] - %cmp4 = icmp ult i32 %index.1, %size - br i1 %cmp4, label %while.body5, label %while.end7 - -while.body5: ; preds = %while.cond3 - %arrayidx = getelementptr inbounds i8 addrspace(1)* %src, i32 %index.1 - %3 = load i8 addrspace(1)* %arrayidx, align 1 - %arrayidx6 = getelementptr inbounds i8 addrspace(3)* %dst, i32 %index.1 - store i8 %3, i8 addrspace(3)* %arrayidx6, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond3 - -while.end7: ; preds = %while.cond3 - ret void -} - -define void @__gen_memcpy_lp(i8 addrspace(3)* %dst, i8 addrspace(0)* %src, i32 %size) nounwind alwaysinline { -entry: - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond3, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(0)* %src, i32 %index.0 - %0 = bitcast i8 addrspace(0)* %add.ptr to i32 addrspace(0)* - %1 = load i32 addrspace(0)* %0, align 4 - %add.ptr1 = getelementptr inbounds i8 addrspace(3)* %dst, i32 %index.0 - %2 = bitcast i8 addrspace(3)* %add.ptr1 to i32 addrspace(3)* - store i32 %1, i32 addrspace(3)* %2, align 4 - br label %while.cond - -while.cond3: ; preds = %while.cond, %while.body5 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body5 ] - %cmp4 = icmp ult i32 %index.1, %size - br i1 %cmp4, label %while.body5, label %while.end7 - -while.body5: ; preds = %while.cond3 - %arrayidx = getelementptr inbounds i8 addrspace(0)* %src, i32 %index.1 - %3 = load i8 addrspace(0)* %arrayidx, align 1 - %arrayidx6 = getelementptr inbounds i8 addrspace(3)* %dst, i32 %index.1 - store i8 %3, i8 addrspace(3)* %arrayidx6, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond3 - -while.end7: ; preds = %while.cond3 - ret void -} - -define void @__gen_memcpy_ll(i8 addrspace(3)* %dst, i8 addrspace(3)* %src, i32 %size) nounwind alwaysinline { -entry: - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond3, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(3)* %src, i32 %index.0 - %0 = bitcast i8 addrspace(3)* %add.ptr to i32 addrspace(3)* - %1 = load i32 addrspace(3)* %0, align 4 - %add.ptr1 = getelementptr inbounds i8 addrspace(3)* %dst, i32 %index.0 - %2 = bitcast i8 addrspace(3)* %add.ptr1 to i32 addrspace(3)* - store i32 %1, i32 addrspace(3)* %2, align 4 - br label %while.cond - -while.cond3: ; preds = %while.cond, %while.body5 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body5 ] - %cmp4 = icmp ult i32 %index.1, %size - br i1 %cmp4, label %while.body5, label %while.end7 - -while.body5: ; preds = %while.cond3 - %arrayidx = getelementptr inbounds i8 addrspace(3)* %src, i32 %index.1 - %3 = load i8 addrspace(3)* %arrayidx, align 1 - %arrayidx6 = getelementptr inbounds i8 addrspace(3)* %dst, i32 %index.1 - store i8 %3, i8 addrspace(3)* %arrayidx6, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond3 - -while.end7: ; preds = %while.cond3 - ret void -} diff --git a/backend/src/ocl_memset.ll b/backend/src/ocl_memset.ll deleted file mode 100644 index addf9f5..0000000 --- a/backend/src/ocl_memset.ll +++ /dev/null @@ -1,127 +0,0 @@ -;The memset's source code. -; INLINE_OVERLOADABLE void __gen_memset(uchar* dst, uchar val, size_t size) { -; size_t index = 0; -; uint v = (val << 24) | (val << 16) | (val << 8) | val; -; while((index + 4) >= size) { -; *((uint *)(dst + index)) = v; -; index += 4; -; } -; while(index < size) { -; dst[index] = val; -; index++; -; } -; } - -define void @__gen_memset_p(i8* %dst, i8 zeroext %val, i32 %size) nounwind alwaysinline { -entry: - %conv = zext i8 %val to i32 - %shl = shl nuw i32 %conv, 24 - %shl2 = shl nuw nsw i32 %conv, 16 - %or = or i32 %shl, %shl2 - %shl4 = shl nuw nsw i32 %conv, 8 - %or5 = or i32 %or, %shl4 - %or7 = or i32 %or5, %conv - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond10, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8* %dst, i32 %index.0 - %0 = bitcast i8* %add.ptr to i32* - store i32 %or7, i32* %0, align 4 - br label %while.cond - -while.cond10: ; preds = %while.cond, %while.body13 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body13 ] - %cmp11 = icmp ult i32 %index.1, %size - br i1 %cmp11, label %while.body13, label %while.end14 - -while.body13: ; preds = %while.cond10 - %arrayidx = getelementptr inbounds i8* %dst, i32 %index.1 - store i8 %val, i8* %arrayidx, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond10 - -while.end14: ; preds = %while.cond10 - ret void -} - -define void @__gen_memset_g(i8 addrspace(1)* %dst, i8 zeroext %val, i32 %size) nounwind alwaysinline { -entry: - %conv = zext i8 %val to i32 - %shl = shl nuw i32 %conv, 24 - %shl2 = shl nuw nsw i32 %conv, 16 - %or = or i32 %shl, %shl2 - %shl4 = shl nuw nsw i32 %conv, 8 - %or5 = or i32 %or, %shl4 - %or7 = or i32 %or5, %conv - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond10, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(1)* %dst, i32 %index.0 - %0 = bitcast i8 addrspace(1)* %add.ptr to i32 addrspace(1)* - store i32 %or7, i32 addrspace(1)* %0, align 4 - br label %while.cond - -while.cond10: ; preds = %while.cond, %while.body13 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body13 ] - %cmp11 = icmp ult i32 %index.1, %size - br i1 %cmp11, label %while.body13, label %while.end14 - -while.body13: ; preds = %while.cond10 - %arrayidx = getelementptr inbounds i8 addrspace(1)* %dst, i32 %index.1 - store i8 %val, i8 addrspace(1)* %arrayidx, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond10 - -while.end14: ; preds = %while.cond10 - ret void -} - -define void @__gen_memset_l(i8 addrspace(3)* %dst, i8 zeroext %val, i32 %size) nounwind alwaysinline { -entry: - %conv = zext i8 %val to i32 - %shl = shl nuw i32 %conv, 24 - %shl2 = shl nuw nsw i32 %conv, 16 - %or = or i32 %shl, %shl2 - %shl4 = shl nuw nsw i32 %conv, 8 - %or5 = or i32 %or, %shl4 - %or7 = or i32 %or5, %conv - br label %while.cond - -while.cond: ; preds = %while.body, %entry - %index.0 = phi i32 [ 0, %entry ], [ %add, %while.body ] - %add = add i32 %index.0, 4 - %cmp = icmp ult i32 %add, %size - br i1 %cmp, label %while.cond10, label %while.body - -while.body: ; preds = %while.cond - %add.ptr = getelementptr inbounds i8 addrspace(3)* %dst, i32 %index.0 - %0 = bitcast i8 addrspace(3)* %add.ptr to i32 addrspace(3)* - store i32 %or7, i32 addrspace(3)* %0, align 4 - br label %while.cond - -while.cond10: ; preds = %while.cond, %while.body13 - %index.1 = phi i32 [ %index.0, %while.cond ], [ %inc, %while.body13 ] - %cmp11 = icmp ult i32 %index.1, %size - br i1 %cmp11, label %while.body13, label %while.end14 - -while.body13: ; preds = %while.cond10 - %arrayidx = getelementptr inbounds i8 addrspace(3)* %dst, i32 %index.1 - store i8 %val, i8 addrspace(3)* %arrayidx, align 1 - %inc = add i32 %index.1, 1 - br label %while.cond10 - -while.end14: ; preds = %while.cond10 - ret void -} diff --git a/backend/src/ocl_stdlib.tmpl.h b/backend/src/ocl_stdlib.tmpl.h deleted file mode 100755 index 2e37513..0000000 --- a/backend/src/ocl_stdlib.tmpl.h +++ /dev/null @@ -1,5158 +0,0 @@ -/* - * Copyright © 2012 Intel Corporation - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - * - * Author: Benjamin Segovia - */ - -#ifndef __GEN_OCL_STDLIB_H__ -#define __GEN_OCL_STDLIB_H__ - -#define INLINE inline __attribute__((always_inline)) -#define OVERLOADABLE __attribute__((overloadable)) -#define PURE __attribute__((pure)) -#define CONST __attribute__((const)) -#define INLINE_OVERLOADABLE inline __attribute__((overloadable,always_inline)) -// FIXME, clang's opencl FE doesn't support static. -#define static - -///////////////////////////////////////////////////////////////////////////// -// OpenCL built-in scalar data types -///////////////////////////////////////////////////////////////////////////// -typedef unsigned char uchar; -typedef unsigned short ushort; -typedef unsigned int uint; -typedef unsigned long ulong; -typedef __typeof__(sizeof(int)) size_t; -typedef __typeof__((int *)0-(int *)0) ptrdiff_t; -typedef signed int intptr_t; -typedef unsigned int uintptr_t; - -///////////////////////////////////////////////////////////////////////////// -// OpenCL address space -///////////////////////////////////////////////////////////////////////////// -// These are built-ins in LLVM 3.3. -#if 100*__clang_major__ + __clang_minor__ <= 302 -#define __private __attribute__((address_space(0))) -#define __global __attribute__((address_space(1))) -#define __constant __attribute__((address_space(2))) -#define __local __attribute__((address_space(3))) -#define global __global -#define local __local -#define constant __constant -#define private __private -#endif - -#pragma OPENCL EXTENSION cl_khr_fp64 : enable - -///////////////////////////////////////////////////////////////////////////// -// OpenCL built-in vector data types -///////////////////////////////////////////////////////////////////////////// -#define DEF(type) typedef type type##2 __attribute__((ext_vector_type(2)));\ - typedef type type##3 __attribute__((ext_vector_type(3)));\ - typedef type type##4 __attribute__((ext_vector_type(4)));\ - typedef type type##8 __attribute__((ext_vector_type(8)));\ - typedef type type##16 __attribute__((ext_vector_type(16))); -DEF(char); -DEF(uchar); -DEF(short); -DEF(ushort); -DEF(int); -DEF(uint); -DEF(long); -DEF(ulong); -DEF(float); -DEF(double); -#undef DEF -///////////////////////////////////////////////////////////////////////////// -// OpenCL other built-in data types -///////////////////////////////////////////////////////////////////////////// -// FIXME: -// This is a transitional hack to bypass the LLVM 3.3 built-in types. -// See the Khronos SPIR specification for handling of these types. -#define __texture __attribute__((address_space(4))) -struct _image1d_t; -typedef __texture struct _image1d_t* __image1d_t; -struct _image1d_buffer_t; -typedef __texture struct _image1d_buffer_t* __image1d_buffer_t; -struct _image1d_array_t; -typedef __texture struct _image1d_array_t* __image1d_array_t; -struct _image2d_t; -typedef __texture struct _image2d_t* __image2d_t; -struct _image2d_array_t; -typedef __texture struct _image2d_array_t* __image2d_array_t; -struct _image3d_t; -typedef __texture struct _image3d_t* __image3d_t; -typedef const ushort __sampler_t; -typedef size_t __event_t; -#define image1d_t __image1d_t -#define image1d_buffer_t __image1d_buffer_t -#define image1d_array_t __image1d_array_t -#define image2d_t __image2d_t -#define image2d_array_t __image2d_array_t -#define image3d_t __image3d_t -#define sampler_t __sampler_t -#define event_t __event_t -///////////////////////////////////////////////////////////////////////////// -// OpenCL conversions & type casting -///////////////////////////////////////////////////////////////////////////// - -// ##BEGIN_AS## - -// ##END_AS## - -// ##BEGIN_CONVERT## - -// ##END_CONVERT## - -///////////////////////////////////////////////////////////////////////////// -// OpenCL preprocessor directives & macros -///////////////////////////////////////////////////////////////////////////// -#define __OPENCL_VERSION__ 110 -#define __CL_VERSION_1_0__ 100 -#define __CL_VERSION_1_1__ 110 -#define __ENDIAN_LITTLE__ 1 -#define __IMAGE_SUPPORT__ 1 -#define __kernel_exec(X, TYPE) __kernel __attribute__((work_group_size_hint(X,1,1))) \ - __attribute__((vec_type_hint(TYPE))) -#define kernel_exec(X, TYPE) __kernel_exec(X, TYPE) -#define cl_khr_global_int32_base_atomics -#define cl_khr_global_int32_extended_atomics -#define cl_khr_local_int32_base_atomics -#define cl_khr_local_int32_extended_atomics -#define cl_khr_byte_addressable_store -#define cl_khr_icd -#define cl_khr_gl_sharing - -///////////////////////////////////////////////////////////////////////////// -// OpenCL floating-point macros and pragmas -///////////////////////////////////////////////////////////////////////////// -#define FLT_DIG 6 -#define FLT_MANT_DIG 24 -#define FLT_MAX_10_EXP +38 -#define FLT_MAX_EXP +128 -#define FLT_MIN_10_EXP -37 -#define FLT_MIN_EXP -125 -#define FLT_RADIX 2 -#define FLT_ONE 1.0000000000e+00 /* 0x3F800000 */ -#define FLT_MAX 0x1.fffffep127f -#define FLT_MIN 0x1.0p-126f -#define FLT_EPSILON 0x1.0p-23f - -#define MAXFLOAT 3.40282347e38F -INLINE_OVERLOADABLE float __ocl_inff(void) { - union { uint u; float f; } u; - u.u = 0x7F800000; - return u.f; -} -INLINE_OVERLOADABLE float __ocl_nanf(void) { - union { uint u; float f; } u; - u.u = 0x7F800001; - return u.f; -} -typedef union -{ - float value; - uint word; -} float_shape_type; - -/* Get a 32 bit int from a float. */ -#ifndef GEN_OCL_GET_FLOAT_WORD -# define GEN_OCL_GET_FLOAT_WORD(i,d) \ -do { \ - float_shape_type gf_u; \ - gf_u.value = (d); \ - (i) = gf_u.word; \ -} while (0) -#endif -/* Set a float from a 32 bit int. */ -#ifndef GEN_OCL_SET_FLOAT_WORD -# define GEN_OCL_SET_FLOAT_WORD(d,i) \ -do { \ - float_shape_type sf_u; \ - sf_u.word = (i); \ - (d) = sf_u.value; \ -} while (0) -#endif - -INLINE_OVERLOADABLE int __ocl_finitef (float x){ - unsigned ix; - GEN_OCL_GET_FLOAT_WORD (ix, x); - return (ix & 0x7fffffff) < 0x7f800000; -} - -#define HUGE_VALF (__ocl_inff()) -#define INFINITY (__ocl_inff()) -#define NAN (__ocl_nanf()) -#define M_E_F 2.718281828459045F -#define M_LOG2E_F 1.4426950408889634F -#define M_LOG10E_F 0.43429448190325176F -#define M_LN2_F 0.6931471805599453F -#define M_LN10_F 2.302585092994046F -#define M_PI_F 3.141592653589793F -#define M_PI_2_F 1.5707963267948966F -#define M_PI_4_F 0.7853981633974483F -#define M_1_PI_F 0.3183098861837907F -#define M_2_PI_F 0.6366197723675814F -#define M_2_SQRTPI_F 1.1283791670955126F -#define M_SQRT2_F 1.4142135623730951F -#define M_SQRT1_2_F 0.7071067811865476F -///////////////////////////////////////////////////////////////////////////// -// OpenCL integer built-in macros -///////////////////////////////////////////////////////////////////////////// -#define CHAR_BIT 8 -#define CHAR_MAX SCHAR_MAX -#define CHAR_MIN SCHAR_MIN -#define INT_MAX 2147483647 -#define INT_MIN (-2147483647 - 1) -#define LONG_MAX 0x7fffffffffffffffL -#define LONG_MIN (-0x7fffffffffffffffL - 1) -#define SCHAR_MAX 127 -#define SCHAR_MIN (-127 - 1) -#define SHRT_MAX 32767 -#define SHRT_MIN (-32767 - 1) -#define UCHAR_MAX 255 -#define USHRT_MAX 65535 -#define UINT_MAX 0xffffffff -#define ULONG_MAX 0xffffffffffffffffUL -///////////////////////////////////////////////////////////////////////////// -// OpenCL relational built-in functions -///////////////////////////////////////////////////////////////////////////// - -int INLINE_OVERLOADABLE isequal(float x, float y) { return x == y; } -int INLINE_OVERLOADABLE isnotequal(float x, float y) { return x != y; } -int INLINE_OVERLOADABLE isgreater(float x, float y) { return x > y; } -int INLINE_OVERLOADABLE isgreaterequal(float x, float y) { return x >= y; } -int INLINE_OVERLOADABLE isless(float x, float y) { return x < y; } -int INLINE_OVERLOADABLE islessequal(float x, float y) { return x <= y; } -int INLINE_OVERLOADABLE islessgreater(float x, float y) { return (x < y) || (x > y); } - -#define SDEF(TYPE) \ -OVERLOADABLE TYPE ocl_sadd_sat(TYPE x, TYPE y); \ -OVERLOADABLE TYPE ocl_ssub_sat(TYPE x, TYPE y); \ -INLINE_OVERLOADABLE TYPE add_sat(TYPE x, TYPE y) { return ocl_sadd_sat(x, y); } \ -INLINE_OVERLOADABLE TYPE sub_sat(TYPE x, TYPE y) { return ocl_ssub_sat(x, y); } -SDEF(char); -SDEF(short); -#undef SDEF -OVERLOADABLE int ocl_sadd_sat(int x, int y); -INLINE_OVERLOADABLE int add_sat(int x, int y) { return ocl_sadd_sat(x, y); } -OVERLOADABLE int ocl_ssub_sat(int x, int y); -INLINE_OVERLOADABLE int sub_sat(int x, int y) { - return (y == 0x80000000u) ? (x & 0x7FFFFFFF) : ocl_ssub_sat(x, y); -} -OVERLOADABLE long ocl_sadd_sat(long x, long y); -INLINE_OVERLOADABLE long add_sat(long x, long y) { - union {long l; uint i[2];} ux, uy; - ux.l = x; - uy.l = y; - if((ux.i[1] ^ uy.i[1]) & 0x80000000u) - return x + y; - return ocl_sadd_sat(x, y); -} -OVERLOADABLE long ocl_ssub_sat(long x, long y); -INLINE_OVERLOADABLE long sub_sat(long x, long y) { - union {long l; uint i[2];} ux, uy; - ux.l = x; - uy.l = y; - if((ux.i[1] ^ uy.i[1]) & 0x80000000u) - return ocl_ssub_sat(x, y); - return x - y; -} -#define UDEF(TYPE) \ -OVERLOADABLE TYPE ocl_uadd_sat(TYPE x, TYPE y); \ -OVERLOADABLE TYPE ocl_usub_sat(TYPE x, TYPE y); \ -INLINE_OVERLOADABLE TYPE add_sat(TYPE x, TYPE y) { return ocl_uadd_sat(x, y); } \ -INLINE_OVERLOADABLE TYPE sub_sat(TYPE x, TYPE y) { return ocl_usub_sat(x, y); } -UDEF(uchar); -UDEF(ushort); -UDEF(uint); -UDEF(ulong); -#undef UDEF - -INLINE_OVERLOADABLE int isfinite(float x) { - union { uint u; float f; } u; - u.f = x; - return (u.u & 0x7FFFFFFF) < 0x7F800000; -} -INLINE_OVERLOADABLE int isinf(float x) { - union { uint u; float f; } u; - u.f = x; - return (u.u & 0x7FFFFFFF) == 0x7F800000; -} -INLINE_OVERLOADABLE int isnan(float x) { - return x != x; -} -INLINE_OVERLOADABLE int isnormal(float x) { - union { uint u; float f; } u; - u.f = x; - u.u &= 0x7FFFFFFF; - return (u.u < 0x7F800000) && (u.u >= 0x800000); -} -INLINE_OVERLOADABLE int isordered(float x, float y) { return isequal(x, x) && isequal(y, y); } -INLINE_OVERLOADABLE int isunordered(float x, float y) { return isnan(x) || isnan(y); } -INLINE_OVERLOADABLE int signbit(float x) { - union { uint u; float f; } u; - u.f = x; - return u.u >> 31; -} - -#define DEC1(type) INLINE_OVERLOADABLE int any(type a) { return a<0; } -#define DEC2(type) INLINE_OVERLOADABLE int any(type a) { return a.s0<0 || a.s1<0; } -#define DEC3(type) INLINE_OVERLOADABLE int any(type a) { return a.s0<0 || a.s1<0 || a.s2<0; } -#define DEC4(type) INLINE_OVERLOADABLE int any(type a) { return a.s0<0 || a.s1<0 || a.s2<0 || a.s3<0; } -#define DEC8(type) INLINE_OVERLOADABLE int any(type a) { return a.s0<0 || a.s1<0 || a.s2<0 || a.s3<0 || a.s4<0 || a.s5<0 || a.s6<0 || a.s7<0; } -#define DEC16(type) INLINE_OVERLOADABLE int any(type a) { return a.s0<0 || a.s1<0 || a.s2<0 || a.s3<0 || a.s4<0 || a.s5<0 || a.s6<0 || a.s7<0 || a.s8<0 || a.s9<0 || a.sA<0 || a.sB<0 || a.sC<0 || a.sD<0 || a.sE<0 || a.sF<0; } -DEC1(char); -DEC1(short); -DEC1(int); -DEC1(long); -#define DEC(n) DEC##n(char##n); DEC##n(short##n); DEC##n(int##n); DEC##n(long##n); -DEC(2); -DEC(3); -DEC(4); -DEC(8); -DEC(16); -#undef DEC -#undef DEC1 -#undef DEC2 -#undef DEC3 -#undef DEC4 -#undef DEC8 -#undef DEC16 -#define DEC1(type) INLINE_OVERLOADABLE int all(type a) { return a<0; } -#define DEC2(type) INLINE_OVERLOADABLE int all(type a) { return a.s0<0 && a.s1<0; } -#define DEC3(type) INLINE_OVERLOADABLE int all(type a) { return a.s0<0 && a.s1<0 && a.s2<0; } -#define DEC4(type) INLINE_OVERLOADABLE int all(type a) { return a.s0<0 && a.s1<0 && a.s2<0 && a.s3<0; } -#define DEC8(type) INLINE_OVERLOADABLE int all(type a) { return a.s0<0 && a.s1<0 && a.s2<0 && a.s3<0 && a.s4<0 && a.s5<0 && a.s6<0 && a.s7<0; } -#define DEC16(type) INLINE_OVERLOADABLE int all(type a) { return a.s0<0 && a.s1<0 && a.s2<0 && a.s3<0 && a.s4<0 && a.s5<0 && a.s6<0 && a.s7<0 && a.s8<0 && a.s9<0 && a.sA<0 && a.sB<0 && a.sC<0 && a.sD<0 && a.sE<0 && a.sF<0; } -DEC1(char); -DEC1(short); -DEC1(int); -DEC1(long); -#define DEC(n) DEC##n(char##n); DEC##n(short##n); DEC##n(int##n); DEC##n(long##n); -DEC(2); -DEC(3); -DEC(4); -DEC(8); -DEC(16); -#undef DEC -#undef DEC1 -#undef DEC2 -#undef DEC3 -#undef DEC4 -#undef DEC8 -#undef DEC16 - -#define DEF(type) INLINE_OVERLOADABLE type bitselect(type a, type b, type c) { return (a & ~c) | (b & c); } -DEF(char); DEF(uchar); DEF(short); DEF(ushort); DEF(int); DEF(uint) -DEF(long); DEF(ulong) -#undef DEF -INLINE_OVERLOADABLE float bitselect(float a, float b, float c) { - return as_float(bitselect(as_int(a), as_int(b), as_int(c))); -} - -///////////////////////////////////////////////////////////////////////////// -// Integer built-in functions -///////////////////////////////////////////////////////////////////////////// -PURE CONST uint __gen_ocl_fbh(uint); -PURE CONST uint __gen_ocl_fbl(uint); - -INLINE_OVERLOADABLE char clz(char x) { - if (x < 0) - return 0; - if (x == 0) - return 8; - return __gen_ocl_fbh(x) - 24; -} - -INLINE_OVERLOADABLE uchar clz(uchar x) { - if (x == 0) - return 8; - return __gen_ocl_fbh(x) - 24; -} - -INLINE_OVERLOADABLE short clz(short x) { - if (x < 0) - return 0; - if (x == 0) - return 16; - return __gen_ocl_fbh(x) - 16; -} - -INLINE_OVERLOADABLE ushort clz(ushort x) { - if (x == 0) - return 16; - return __gen_ocl_fbh(x) - 16; -} - -INLINE_OVERLOADABLE int clz(int x) { - if (x < 0) - return 0; - if (x == 0) - return 32; - return __gen_ocl_fbh(x); -} - -INLINE_OVERLOADABLE uint clz(uint x) { - if (x == 0) - return 32; - return __gen_ocl_fbh(x); -} - -INLINE_OVERLOADABLE long clz(long x) { - union { int i[2]; long x; } u; - u.x = x; - if (u.i[1] & 0x80000000u) - return 0; - if (u.i[1] == 0 && u.i[0] == 0) - return 64; - uint v = clz(u.i[1]); - if(v == 32) - v += clz(u.i[0]); - return v; -} - -INLINE_OVERLOADABLE ulong clz(ulong x) { - if (x == 0) - return 64; - union { uint i[2]; ulong x; } u; - u.x = x; - uint v = clz(u.i[1]); - if(v == 32) - v += clz(u.i[0]); - return v; -} - -OVERLOADABLE int __gen_ocl_mul_hi(int x, int y); -OVERLOADABLE uint __gen_ocl_mul_hi(uint x, uint y); -OVERLOADABLE long __gen_ocl_mul_hi(long x, long y); -OVERLOADABLE ulong __gen_ocl_mul_hi(ulong x, ulong y); -INLINE_OVERLOADABLE char mul_hi(char x, char y) { return (x * y) >> 8; } -INLINE_OVERLOADABLE uchar mul_hi(uchar x, uchar y) { return (x * y) >> 8; } -INLINE_OVERLOADABLE short mul_hi(short x, short y) { return (x * y) >> 16; } -INLINE_OVERLOADABLE ushort mul_hi(ushort x, ushort y) { return (x * y) >> 16; } -INLINE_OVERLOADABLE int mul_hi(int x, int y) { return __gen_ocl_mul_hi(x, y); } -INLINE_OVERLOADABLE uint mul_hi(uint x, uint y) { return __gen_ocl_mul_hi(x, y); } -INLINE_OVERLOADABLE long mul_hi(long x, long y) { - return __gen_ocl_mul_hi(x, y); -} -INLINE_OVERLOADABLE ulong mul_hi(ulong x, ulong y) { - return __gen_ocl_mul_hi(x, y); -} - -#define DEF(type) INLINE_OVERLOADABLE type mad_hi(type a, type b, type c) { return mul_hi(a, b) + c; } -DEF(char) -DEF(uchar) -DEF(short) -DEF(ushort) -DEF(int) -DEF(uint) -DEF(long) -DEF(ulong) -#undef DEF - -INLINE_OVERLOADABLE int mul24(int a, int b) { return ((a << 8) >> 8) * ((b << 8) >> 8); } -INLINE_OVERLOADABLE uint mul24(uint a, uint b) { return (a & 0xFFFFFF) * (b & 0xFFFFFF); } - -INLINE_OVERLOADABLE int mad24(int a, int b, int c) { return mul24(a, b) + c; } -INLINE_OVERLOADABLE uint mad24(uint a, uint b, uint c) { return mul24(a, b) + c; } - -INLINE_OVERLOADABLE char mad_sat(char a, char b, char c) { - int x = (int)a * (int)b + (int)c; - if (x > 127) - x = 127; - if (x < -128) - x = -128; - return x; -} - -INLINE_OVERLOADABLE uchar mad_sat(uchar a, uchar b, uchar c) { - uint x = (uint)a * (uint)b + (uint)c; - if (x > 255) - x = 255; - return x; -} - -INLINE_OVERLOADABLE short mad_sat(short a, short b, short c) { - int x = (int)a * (int)b + (int)c; - if (x > 32767) - x = 32767; - if (x < -32768) - x = -32768; - return x; -} - -INLINE_OVERLOADABLE ushort mad_sat(ushort a, ushort b, ushort c) { - uint x = (uint)a * (uint)b + (uint)c; - if (x > 65535) - x = 65535; - return x; -} - -INLINE_OVERLOADABLE int mad_sat(int a, int b, int c) { - long x = (long)a * (long)b + (long)c; - if (x > 0x7FFFFFFF) - x = 0x7FFFFFFF; - else if (x < -0x7FFFFFFF-1) - x = -0x7FFFFFFF-1; - return (int)x; -} - -INLINE_OVERLOADABLE uint mad_sat(uint a, uint b, uint c) { - ulong x = (ulong)a * (ulong)b + (ulong)c; - if (x > 0xFFFFFFFFu) - x = 0xFFFFFFFFu; - return (uint)x; -} - -OVERLOADABLE long __gen_ocl_mad_sat(long a, long b, long c); -OVERLOADABLE ulong __gen_ocl_mad_sat(ulong a, ulong b, ulong c); - -INLINE_OVERLOADABLE long mad_sat(long a, long b, long c) { - return __gen_ocl_mad_sat(a, b, c); -} - -INLINE_OVERLOADABLE ulong mad_sat(ulong a, ulong b, ulong c) { - return __gen_ocl_mad_sat(a, b, c); -} - -INLINE_OVERLOADABLE uchar __rotate_left(uchar x, uchar y) { return (x << y) | (x >> (8 - y)); } -INLINE_OVERLOADABLE char __rotate_left(char x, char y) { return __rotate_left((uchar)x, (uchar)y); } -INLINE_OVERLOADABLE ushort __rotate_left(ushort x, ushort y) { return (x << y) | (x >> (16 - y)); } -INLINE_OVERLOADABLE short __rotate_left(short x, short y) { return __rotate_left((ushort)x, (ushort)y); } -INLINE_OVERLOADABLE uint __rotate_left(uint x, uint y) { return (x << y) | (x >> (32 - y)); } -INLINE_OVERLOADABLE int __rotate_left(int x, int y) { return __rotate_left((uint)x, (uint)y); } -INLINE_OVERLOADABLE ulong __rotate_left(ulong x, ulong y) { return (x << y) | (x >> (64 - y)); } -INLINE_OVERLOADABLE long __rotate_left(long x, long y) { return __rotate_left((ulong)x, (ulong)y); } -#define DEF(type, m) INLINE_OVERLOADABLE type rotate(type x, type y) { return __rotate_left(x, (type)(y & m)); } -DEF(char, 7) -DEF(uchar, 7) -DEF(short, 15) -DEF(ushort, 15) -DEF(int, 31) -DEF(uint, 31) -DEF(long, 63) -DEF(ulong, 63) -#undef DEF - -OVERLOADABLE short __gen_ocl_upsample(short hi, short lo); -OVERLOADABLE int __gen_ocl_upsample(int hi, int lo); -OVERLOADABLE long __gen_ocl_upsample(long hi, long lo); -INLINE_OVERLOADABLE short upsample(char hi, uchar lo) { return __gen_ocl_upsample((short)hi, (short)lo); } -INLINE_OVERLOADABLE ushort upsample(uchar hi, uchar lo) { return __gen_ocl_upsample((short)hi, (short)lo); } -INLINE_OVERLOADABLE int upsample(short hi, ushort lo) { return __gen_ocl_upsample((int)hi, (int)lo); } -INLINE_OVERLOADABLE uint upsample(ushort hi, ushort lo) { return __gen_ocl_upsample((int)hi, (int)lo); } -INLINE_OVERLOADABLE long upsample(int hi, uint lo) { - return __gen_ocl_upsample((long)hi, (long)lo); -} -INLINE_OVERLOADABLE ulong upsample(uint hi, uint lo) { - return __gen_ocl_upsample((long)hi, (long)lo); -} - -OVERLOADABLE uint __gen_ocl_hadd(uint x, uint y); -OVERLOADABLE uint __gen_ocl_rhadd(uint x, uint y); -#define DEC DEF(char); DEF(uchar); DEF(short); DEF(ushort) -#define DEF(type) INLINE_OVERLOADABLE type hadd(type x, type y) { return (x + y) >> 1; } -DEC -#undef DEF -#define DEF(type) INLINE_OVERLOADABLE type rhadd(type x, type y) { return (x + y + 1) >> 1; } -DEC -#undef DEF -#undef DEC -INLINE_OVERLOADABLE int hadd(int x, int y) { - return (x < 0 && y > 0) || (x > 0 && y < 0) ? - ((x + y) >> 1) : - __gen_ocl_hadd((uint)x, (uint)y); -} -INLINE_OVERLOADABLE uint hadd(uint x, uint y) { return __gen_ocl_hadd(x, y); } -INLINE_OVERLOADABLE int rhadd(int x, int y) { - return (x < 0 && y > 0) || (x > 0 && y < 0) ? - ((x + y + 1) >> 1) : - __gen_ocl_rhadd((uint)x, (uint)y); - } -INLINE_OVERLOADABLE uint rhadd(uint x, uint y) { return __gen_ocl_rhadd(x, y); } -OVERLOADABLE ulong __gen_ocl_hadd(ulong x, ulong y); -OVERLOADABLE ulong __gen_ocl_rhadd(ulong x, ulong y); -INLINE_OVERLOADABLE long hadd(long x, long y) { - return (x < 0 && y > 0) || (x > 0 && y < 0) ? - ((x + y) >> 1) : - __gen_ocl_hadd((ulong)x, (ulong)y); -} -INLINE_OVERLOADABLE ulong hadd(ulong x, ulong y) { - return __gen_ocl_hadd(x, y); -} -INLINE_OVERLOADABLE long rhadd(long x, long y) { - return (x < 0 && y > 0) || (x > 0 && y < 0) ? - ((x + y + 1) >> 1) : - __gen_ocl_rhadd((ulong)x, (ulong)y); -} -INLINE_OVERLOADABLE ulong rhadd(ulong x, ulong y) { - return __gen_ocl_rhadd(x, y); -} - -int __gen_ocl_abs(int x); -#define DEC(TYPE) INLINE_OVERLOADABLE u##TYPE abs(TYPE x) { return (u##TYPE) __gen_ocl_abs(x); } -DEC(int) -DEC(short) -DEC(char) -#undef DEC -INLINE_OVERLOADABLE ulong abs(long x) { return x < 0 ? -x : x; } -/* For unsigned types, do nothing. */ -#define DEC(TYPE) INLINE_OVERLOADABLE TYPE abs(TYPE x) { return x; } -DEC(uint) -DEC(ushort) -DEC(uchar) -DEC(ulong) -#undef DEC - -/* Char and short type abs diff */ -/* promote char and short to int and will be no module overflow */ -#define DEC(TYPE, UTYPE) INLINE_OVERLOADABLE UTYPE abs_diff(TYPE x, TYPE y) \ - { return (UTYPE) (abs((int)x - (int)y)); } -DEC(char, uchar) -DEC(uchar, uchar) -DEC(short, ushort) -DEC(ushort, ushort) -#undef DEC - -INLINE_OVERLOADABLE uint abs_diff (uint x, uint y) { - /* same signed will never overflow. */ - return y > x ? (y -x) : (x - y); -} - -INLINE_OVERLOADABLE uint abs_diff (int x, int y) { - /* same signed will never module overflow. */ - if ((x >= 0 && y >= 0) || (x <= 0 && y <= 0)) - return abs(x - y); - - return (abs(x) + abs(y)); -} - -INLINE_OVERLOADABLE ulong abs_diff (long x, long y) { - if ((x >= 0 && y >= 0) || (x <= 0 && y <= 0)) - return abs(x - y); - return abs(x) + abs(y); -} -INLINE_OVERLOADABLE ulong abs_diff (ulong x, ulong y) { - return y > x ? (y - x) : (x - y); -} - - -///////////////////////////////////////////////////////////////////////////// -// SIMD level function -///////////////////////////////////////////////////////////////////////////// -short __gen_ocl_simd_any(short); -short __gen_ocl_simd_all(short); - - -///////////////////////////////////////////////////////////////////////////// -// Work Items functions (see 6.11.1 of OCL 1.1 spec) -///////////////////////////////////////////////////////////////////////////// - -PURE CONST uint __gen_ocl_get_work_dim(void); -INLINE uint get_work_dim(void) { - return __gen_ocl_get_work_dim(); -} - -#define DECL_INTERNAL_WORK_ITEM_FN(NAME) \ -PURE CONST unsigned int __gen_ocl_##NAME##0(void); \ -PURE CONST unsigned int __gen_ocl_##NAME##1(void); \ -PURE CONST unsigned int __gen_ocl_##NAME##2(void); -DECL_INTERNAL_WORK_ITEM_FN(get_group_id) -DECL_INTERNAL_WORK_ITEM_FN(get_local_id) -DECL_INTERNAL_WORK_ITEM_FN(get_local_size) -DECL_INTERNAL_WORK_ITEM_FN(get_global_size) -DECL_INTERNAL_WORK_ITEM_FN(get_global_offset) -DECL_INTERNAL_WORK_ITEM_FN(get_num_groups) -#undef DECL_INTERNAL_WORK_ITEM_FN - -#define DECL_PUBLIC_WORK_ITEM_FN(NAME, OTHER_RET) \ -INLINE unsigned NAME(unsigned int dim) { \ - if (dim == 0) return __gen_ocl_##NAME##0(); \ - else if (dim == 1) return __gen_ocl_##NAME##1(); \ - else if (dim == 2) return __gen_ocl_##NAME##2(); \ - else return OTHER_RET; \ -} - -DECL_PUBLIC_WORK_ITEM_FN(get_group_id, 0) -DECL_PUBLIC_WORK_ITEM_FN(get_local_id, 0) -DECL_PUBLIC_WORK_ITEM_FN(get_local_size, 1) -DECL_PUBLIC_WORK_ITEM_FN(get_global_size, 1) -DECL_PUBLIC_WORK_ITEM_FN(get_global_offset, 0) -DECL_PUBLIC_WORK_ITEM_FN(get_num_groups, 1) -#undef DECL_PUBLIC_WORK_ITEM_FN - -INLINE uint get_global_id(uint dim) { - return get_local_id(dim) + get_local_size(dim) * get_group_id(dim) + get_global_offset(dim); -} - -///////////////////////////////////////////////////////////////////////////// -// Math Functions (see 6.11.2 of OCL 1.1 spec) -///////////////////////////////////////////////////////////////////////////// -PURE CONST float __gen_ocl_fabs(float x); -PURE CONST float __gen_ocl_sin(float x); -PURE CONST float __gen_ocl_cos(float x); -PURE CONST float __gen_ocl_sqrt(float x); -PURE CONST float __gen_ocl_rsqrt(float x); -PURE CONST float __gen_ocl_log(float x); -PURE CONST float __gen_ocl_exp(float x); -PURE CONST float __gen_ocl_pow(float x, float y); -PURE CONST float __gen_ocl_rcp(float x); -PURE CONST float __gen_ocl_rndz(float x); -PURE CONST float __gen_ocl_rnde(float x); -PURE CONST float __gen_ocl_rndu(float x); -PURE CONST float __gen_ocl_rndd(float x); -INLINE_OVERLOADABLE float __gen_ocl_internal_floor(float x) { return __gen_ocl_rndd(x); } -INLINE_OVERLOADABLE float __gen_ocl_internal_copysign(float x, float y) { - union { unsigned u; float f; } ux, uy; - ux.f = x; - uy.f = y; - ux.u = (ux.u & 0x7fffffff) | (uy.u & 0x80000000u); - return ux.f; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_log(float x) { -/* - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - union { unsigned int i; float f; } u; - const float - ln2_hi = 6.9313812256e-01, /* 0x3f317180 */ - ln2_lo = 9.0580006145e-06, /* 0x3717f7d1 */ - two25 = 3.355443200e+07, /* 0x4c000000 */ - Lg1 = 6.6666668653e-01, /* 3F2AAAAB */ - Lg2 = 4.0000000596e-01, /* 3ECCCCCD */ - Lg3 = 2.8571429849e-01, /* 3E924925 */ - Lg4 = 2.2222198546e-01, /* 3E638E29 */ - Lg5 = 1.8183572590e-01, /* 3E3A3325 */ - Lg6 = 1.5313838422e-01, /* 3E1CD04F */ - Lg7 = 1.4798198640e-01; /* 3E178897 */ - - const float zero = 0.0; - float hfsq,f,s,z,R,w,t1,t2,dk; - int k,ix,i,j; - - u.f = x; ix = u.i; - k=0; - if (ix < 0x00800000) { /* x < 2**-126 */ - if ((ix&0x7fffffff)==0) - return -two25/zero; /* log(+-0)=-inf */ - if (ix<0) return (x-x)/zero; /* log(-#) = NaN */ - return -INFINITY; /* Gen does not support subnormal number now */ - //k -= 25; x *= two25; /* subnormal number, scale up x */ - //u.f = x; ix = u.i; - } - if (ix >= 0x7f800000) return x+x; - k += (ix>>23)-127; - ix &= 0x007fffff; - i = (ix+(0x95f64<<3))&0x800000; - u.i = ix|(i^0x3f800000); x = u.f; - k += (i>>23); - f = x-(float)1.0; - if((0x007fffff&(15+ix))<16) { /* |f| < 2**-20 */ - if(f==zero) { - if(k==0) return zero; - else { - dk=(float)k; return dk*ln2_hi+dk*ln2_lo; - } - } - R = f*f*((float)0.5-(float)0.33333333333333333*f); - if(k==0) - return f-R; - else { - dk=(float)k; return dk*ln2_hi-((R-dk*ln2_lo)-f); - } - } - s = f/((float)2.0+f); - dk = (float)k; - z = s*s; - i = ix-(0x6147a<<3); - w = z*z; - j = (0x6b851<<3)-ix; - t1= w*(Lg2+w*(Lg4+w*Lg6)); - t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7))); - i |= j; - R = t2+t1; - if(i>0) { - hfsq=(float)0.5*f*f; - if(k==0) return f-(hfsq-s*(hfsq+R)); else - return dk*ln2_hi-((hfsq-(s*(hfsq+R)+dk*ln2_lo))-f); - } else { - if(k==0) return f-s*(f-R); else - return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f); - } -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_log10(float x) { -/* - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - union {float f; unsigned i; }u; - const float - zero = 0.0, - two25 = 3.3554432000e+07, /* 0x4c000000 */ - ivln10 = 4.3429449201e-01, /* 0x3ede5bd9 */ - log10_2hi = 3.0102920532e-01, /* 0x3e9a2080 */ - log10_2lo = 7.9034151668e-07; /* 0x355427db */ - - float y,z; - int i,k,hx; - - u.f = x; hx = u.i; - k=0; - if (hx < 0x00800000) { /* x < 2**-126 */ - if ((hx&0x7fffffff)==0) - return -two25/zero; /* log(+-0)=-inf */ - if (hx<0) return NAN; /* log(-#) = NaN */ - return -INFINITY; /* Gen does not support subnormal now */ - //k -= 25; x *= two25; /* subnormal number, scale up x */ - //u.f = x; hx = u.i; - } - if (hx >= 0x7f800000) return x+x; - k += (hx>>23)-127; - i = ((unsigned)k&0x80000000)>>31; - hx = (hx&0x007fffff)|((0x7f-i)<<23); - y = (float)(k+i); - u.i = hx; x = u.f; - z = y*log10_2lo + ivln10*__gen_ocl_internal_log(x); - return z+y*log10_2hi; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_log2(float x) { -/* - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com - * adapted for log2 by Ulrich Drepper - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - const float zero = 0.0, - ln2 = 0.69314718055994530942, - two25 = 3.355443200e+07, /** 0x4c000000 */ - Lg1 = 6.6666668653e-01, /** 3F2AAAAB */ - Lg2 = 4.0000000596e-01, /** 3ECCCCCD */ - Lg3 = 2.8571429849e-01, /** 3E924925 */ - Lg4 = 2.2222198546e-01, /** 3E638E29 */ - Lg5 = 1.8183572590e-01, /** 3E3A3325 */ - Lg6 = 1.5313838422e-01, /** 3E1CD04F */ - Lg7 = 1.4798198640e-01; /** 3E178897 */ - - float hfsq,f,s,z,R,w,t1,t2,dk; - int k,ix,i,j; - - union {float f; int i; }u;//GET_FLOAT_WORD(ix,x); - u.f = x; ix = u.i; - - k=0; - if (ix < 0x00800000) { /** x < 2**-126 */ - if ((ix&0x7fffffff)==0) - return -two25/(x-x); /** log(+-0)=-inf */ - - if (ix<0) return (x-x)/(x-x); /** log(-#) = NaN */ - return -INFINITY; - k -= 25; x *= two25; /** subnormal number, scale up x */ - u.f = x; ix = u.i; //GET_FLOAT_WORD(ix,x); - } - - if (ix >= 0x7f800000) return x+x; - - k += (ix>>23)-127; - ix &= 0x007fffff; - i = (ix+(0x95f64<<3))&0x800000; - - u.i = ix|(i^0x3f800000); x = u.f;//SET_FLOAT_WORD(x,ix|(i^0x3f800000)); /** normalize x or x/2 */ - k += (i>>23); - dk = (float)k; - f = x-(float)1.0; - - if((0x007fffff&(15+ix))<16) { /** |f| < 2**-20 */ - if(f==zero) return dk; - - R = f*f*((float)0.5-(float)0.33333333333333333*f); - return dk-(R-f)/ln2; - } - - s = f/((float)2.0+f); - z = s*s; - i = ix-(0x6147a<<3); - w = z*z; - j = (0x6b851<<3)-ix; - t1= w*(Lg2+w*(Lg4+w*Lg6)); - t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7))); - i |= j; - R = t2+t1; - - if(i>0) { - hfsq=(float)0.5*f*f; - return dk-((hfsq-(s*(hfsq+R)))-f)/ln2; - } else { - return dk-((s*(f-R))-f)/ln2; - } -} - -INLINE float __gen_ocl_scalbnf (float x, int n){ - /* copy from fdlibm */ - float two25 = 3.355443200e+07, /* 0x4c000000 */ - twom25 = 2.9802322388e-08, /* 0x33000000 */ - huge = 1.0e+30, - tiny = 1.0e-30; - int k,ix; - GEN_OCL_GET_FLOAT_WORD(ix,x); - k = (ix&0x7f800000)>>23; /* extract exponent */ - if (k==0) { /* 0 or subnormal x */ - if ((ix&0x7fffffff)==0) return x; /* +-0 */ - x *= two25; - GEN_OCL_GET_FLOAT_WORD(ix,x); - k = ((ix&0x7f800000)>>23) - 25; - } - if (k==0xff) return x+x; /* NaN or Inf */ - if (n< -50000) - return tiny*__gen_ocl_internal_copysign(tiny,x); /*underflow*/ - if (n> 50000 || k+n > 0xfe) - return huge*__gen_ocl_internal_copysign(huge,x); /* overflow */ - /* Now k and n are bounded we know that k = k+n does not overflow. */ - k = k+n; - if (k > 0) { /* normal result */ - GEN_OCL_SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23)); - return x; - } - if (k <= -25) - return tiny*__gen_ocl_internal_copysign(tiny,x); /*underflow*/ - k += 25; /* subnormal result */ - GEN_OCL_SET_FLOAT_WORD(x,(ix&0x807fffff)|(k<<23)); - return x*twom25; -} - - - -__constant const float PIo2[] = { - 1.5703125000e+00, /* 0x3fc90000 */ - 4.5776367188e-04, /* 0x39f00000 */ - 2.5987625122e-05, /* 0x37da0000 */ - 7.5437128544e-08, /* 0x33a20000 */ - 6.0026650317e-11, /* 0x2e840000 */ - 7.3896444519e-13, /* 0x2b500000 */ - 5.3845816694e-15, /* 0x27c20000 */ - 5.6378512969e-18, /* 0x22d00000 */ - 8.3009228831e-20, /* 0x1fc40000 */ - 3.2756352257e-22, /* 0x1bc60000 */ - 6.3331015649e-25, /* 0x17440000 */ -}; - -INLINE int __kernel_rem_pio2f(float *x, float *y, int e0, int nx, int prec, const __constant int *ipio2) -{ - /* copied from fdlibm */ -const float -zero = 0.0, -one = 1.0, -two8 = 2.5600000000e+02, /* 0x43800000 */ -twon8 = 3.9062500000e-03; /* 0x3b800000 */ - - int init_jk[3]; /* initial value for jk */ - int jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih; - float z,fw,f[20],fq[20],q[20]; - init_jk[0] = 4; init_jk[1] = 7; init_jk[2] = 9; - /* initialize jk*/ - jk = init_jk[prec]; - jp = jk; - - /* determine jx,jv,q0, note that 3>q0 */ - jx = nx-1; - jv = (e0-3)/8; if(jv<0) jv=0; - q0 = e0-8*(jv+1); - - /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */ - j = jv-jx; m = jx+jk; - for(i=0;i<=m;i++,j++) f[i] = (j<0)? zero : (float) ipio2[j]; - - /* compute q[0],q[1],...q[jk] */ - for (i=0;i<=jk;i++) { - for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw; - } - - jz = jk; -recompute: - /* distill q[] into iq[] reversingly */ - for(i=0,j=jz,z=q[jz];j>0;i++,j--) { - fw = (float)((int)(twon8* z)); - iq[i] = (int)(z-two8*fw); - z = q[j-1]+fw; - } - - /* compute n */ - z = __gen_ocl_scalbnf(z,q0); /* actual value of z */ - z -= (float)8.0*__gen_ocl_internal_floor(z*(float)0.125); /* trim off integer >= 8 */ - n = (int) z; - z -= (float)n; - ih = 0; - if(q0>0) { /* need iq[jz-1] to determine n */ - i = (iq[jz-1]>>(8-q0)); n += i; - iq[jz-1] -= i<<(8-q0); - ih = iq[jz-1]>>(7-q0); - } - else if(q0==0) ih = iq[jz-1]>>8; - else if(z>=(float)0.5) ih=2; - - if(ih>0) { /* q > 0.5 */ - n += 1; carry = 0; - for(i=0;i0) { /* rare case: chance is 1 in 12 */ - switch(q0) { - case 1: - iq[jz-1] &= 0x7f; break; - case 2: - iq[jz-1] &= 0x3f; break; - } - } - if(ih==2) { - z = one - z; - if(carry!=0) z -= __gen_ocl_scalbnf(one,q0); - } - } - - /* check if recomputation is needed */ - if(z==zero) { - j = 0; - for (i=jz-1;i>=jk;i--) j |= iq[i]; - if(j==0) { /* need recomputation */ - for(k=1;iq[jk-k]==0;k++); /* k = no. of terms needed */ - - for(i=jz+1;i<=jz+k;i++) { /* add q[jz+1] to q[jz+k] */ - f[jx+i] = (float) ipio2[jv+i]; - for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; - q[i] = fw; - } - jz += k; - goto recompute; - } - } - - /* chop off zero terms */ - if(z==(float)0.0) { - jz -= 1; q0 -= 8; - while(iq[jz]==0) { jz--; q0-=8;} - } else { /* break z into 8-bit if necessary */ - z = __gen_ocl_scalbnf(z,-q0); - if(z>=two8) { - fw = (float)((int)(twon8*z)); - iq[jz] = (int)(z-two8*fw); - jz += 1; q0 += 8; - iq[jz] = (int) fw; - } else iq[jz] = (int) z ; - } - - /* convert integer "bit" chunk to floating-point value */ - fw = __gen_ocl_scalbnf(one,q0); - for(i=jz;i>=0;i--) { - q[i] = fw*(float)iq[i]; fw*=twon8; - } - - /* compute PIo2[0,...,jp]*q[jz,...,0] */ - for(i=jz;i>=0;i--) { - for(fw=0.0,k=0;k<=jp&&k<=jz-i;k++) fw += PIo2[k]*q[i+k]; - fq[jz-i] = fw; - } - - /* compress fq[] into y[] */ - switch(prec) { - case 0: - fw = 0.0; - for (i=jz;i>=0;i--) fw += fq[i]; - y[0] = (ih==0)? fw: -fw; - break; - case 1: - case 2: - fw = 0.0; - for (i=jz;i>=0;i--) fw += fq[i]; - y[0] = (ih==0)? fw: -fw; - fw = fq[0]-fw; - for (i=1;i<=jz;i++) fw += fq[i]; - y[1] = (ih==0)? fw: -fw; - break; - case 3: /* painful */ - for (i=jz;i>0;i--) { - fw = fq[i-1]+fq[i]; - fq[i] += fq[i-1]-fw; - fq[i-1] = fw; - } - for (i=jz;i>1;i--) { - fw = fq[i-1]+fq[i]; - fq[i] += fq[i-1]-fw; - fq[i-1] = fw; - } - for (fw=0.0,i=jz;i>=2;i--) fw += fq[i]; - if(ih==0) { - y[0] = fq[0]; y[1] = fq[1]; y[2] = fw; - } else { - y[0] = -fq[0]; y[1] = -fq[1]; y[2] = -fw; - } - } - return n&7; - -} -__constant const int npio2_hw[32] = { -0x3fc90f00, 0x40490f00, 0x4096cb00, 0x40c90f00, 0x40fb5300, 0x4116cb00, -0x412fed00, 0x41490f00, 0x41623100, 0x417b5300, 0x418a3a00, 0x4196cb00, -0x41a35c00, 0x41afed00, 0x41bc7e00, 0x41c90f00, 0x41d5a000, 0x41e23100, -0x41eec200, 0x41fb5300, 0x4203f200, 0x420a3a00, 0x42108300, 0x4216cb00, -0x421d1400, 0x42235c00, 0x4229a500, 0x422fed00, 0x42363600, 0x423c7e00, -0x4242c700, 0x42490f00 -}; - -__constant const int two_over_pi[22*9] = { -0xA2, 0xF9, 0x83, 0x6E, 0x4E, 0x44, 0x15, 0x29, 0xFC, -0x27, 0x57, 0xD1, 0xF5, 0x34, 0xDD, 0xC0, 0xDB, 0x62, -0x95, 0x99, 0x3C, 0x43, 0x90, 0x41, 0xFE, 0x51, 0x63, -0xAB, 0xDE, 0xBB, 0xC5, 0x61, 0xB7, 0x24, 0x6E, 0x3A, -0x42, 0x4D, 0xD2, 0xE0, 0x06, 0x49, 0x2E, 0xEA, 0x09, -0xD1, 0x92, 0x1C, 0xFE, 0x1D, 0xEB, 0x1C, 0xB1, 0x29, -0xA7, 0x3E, 0xE8, 0x82, 0x35, 0xF5, 0x2E, 0xBB, 0x44, -0x84, 0xE9, 0x9C, 0x70, 0x26, 0xB4, 0x5F, 0x7E, 0x41, -0x39, 0x91, 0xD6, 0x39, 0x83, 0x53, 0x39, 0xF4, 0x9C, -0x84, 0x5F, 0x8B, 0xBD, 0xF9, 0x28, 0x3B, 0x1F, 0xF8, -0x97, 0xFF, 0xDE, 0x05, 0x98, 0x0F, 0xEF, 0x2F, 0x11, -0x8B, 0x5A, 0x0A, 0x6D, 0x1F, 0x6D, 0x36, 0x7E, 0xCF, -0x27, 0xCB, 0x09, 0xB7, 0x4F, 0x46, 0x3F, 0x66, 0x9E, -0x5F, 0xEA, 0x2D, 0x75, 0x27, 0xBA, 0xC7, 0xEB, 0xE5, -0xF1, 0x7B, 0x3D, 0x07, 0x39, 0xF7, 0x8A, 0x52, 0x92, -0xEA, 0x6B, 0xFB, 0x5F, 0xB1, 0x1F, 0x8D, 0x5D, 0x08, -0x56, 0x03, 0x30, 0x46, 0xFC, 0x7B, 0x6B, 0xAB, 0xF0, -0xCF, 0xBC, 0x20, 0x9A, 0xF4, 0x36, 0x1D, 0xA9, 0xE3, -0x91, 0x61, 0x5E, 0xE6, 0x1B, 0x08, 0x65, 0x99, 0x85, -0x5F, 0x14, 0xA0, 0x68, 0x40, 0x8D, 0xFF, 0xD8, 0x80, -0x4D, 0x73, 0x27, 0x31, 0x06, 0x06, 0x15, 0x56, 0xCA, -0x73, 0xA8, 0xC9, 0x60, 0xE2, 0x7B, 0xC0, 0x8C, 0x6B, -}; - - - -INLINE int __ieee754_rem_pio2f(float x, float *y) { - /* copied from fdlibm */ - float z,w,t,r,fn; - float tx[3]; - -const float half_value = 5.0000000e-1; -const float zero = 0.0000000000; -const float two8 = 2.5600000000e+02; -const float invpio2 = 6.3661980629e-01; -const float pio2_1 = 1.5707855225e+00; -const float pio2_1t = 1.0804334124e-05; -const float pio2_2 = 1.0804273188e-05; -const float pio2_2t = 6.0770999344e-11; -const float pio2_3 = 6.0770943833e-11; -const float pio2_3t = 6.1232342629e-17; - int e0,i,j,nx,n,ix,hx; - - GEN_OCL_GET_FLOAT_WORD(hx,x); - ix = hx&0x7fffffff; - if(ix<=0x3f490fd8) /* |x| ~<= pi/4 , no need for reduction */ - {y[0] = x; y[1] = 0; return 0;} - if(ix<0x4016cbe4) { /* |x| < 3pi/4, special case with n=+-1 */ - if(hx>0) { - z = x - pio2_1; - if((ix&0xfffffff0)!=0x3fc90fd0) { /* 24+24 bit pi OK */ - y[0] = z - pio2_1t; - y[1] = (z-y[0])-pio2_1t; - } else { /* near pi/2, use 24+24+24 bit pi */ - z -= pio2_2; - y[0] = z - pio2_2t; - y[1] = (z-y[0])-pio2_2t; - } - return 1; - } else { /* negative x */ - z = x + pio2_1; - if((ix&0xfffffff0)!=0x3fc90fd0) { /* 24+24 bit pi OK */ - y[0] = z + pio2_1t; - y[1] = (z-y[0])+pio2_1t; - } else { /* near pi/2, use 24+24+24 bit pi */ - z += pio2_2; - y[0] = z + pio2_2t; - y[1] = (z-y[0])+pio2_2t; - } - return -1; - } - } - if(ix<=0x43490f80) { /* |x| ~<= 2^7*(pi/2), medium size */ - t = __gen_ocl_fabs(x); - n = (int) (t*invpio2+half_value); - fn = (float)n; - r = t-fn*pio2_1; - w = fn*pio2_1t; /* 1st round good to 40 bit */ - if(n<32&&(ix&0xffffff00)!=npio2_hw[n-1]) { - y[0] = r-w; /* quick check no cancellation */ - } else { - uint high; - j = ix>>23; - y[0] = r-w; - GEN_OCL_GET_FLOAT_WORD(high,y[0]); - i = j-((high>>23)&0xff); - if(i>8) { /* 2nd iteration needed, good to 57 */ - t = r; - w = fn*pio2_2; - r = t-w; - w = fn*pio2_2t-((t-r)-w); - y[0] = r-w; - GEN_OCL_GET_FLOAT_WORD(high,y[0]); - i = j-((high>>23)&0xff); - if(i>25) { /* 3rd iteration need, 74 bits acc */ - t = r; /* will cover all possible cases */ - w = fn*pio2_3; - r = t-w; - w = fn*pio2_3t-((t-r)-w); - y[0] = r-w; - } - } - } - y[1] = (r-y[0])-w; - if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;} - else return n; - } - /* - * all other (large) arguments - */ - if(ix>=0x7f800000) { /* x is inf or NaN */ - y[0]=y[1]=x-x; return 0; - } - /* set z = scalbn(|x|,ilogb(x)-7) */ - e0 = (ix>>23)-134; /* e0 = ilogb(z)-7; */ - GEN_OCL_SET_FLOAT_WORD(z, ix - ((int)(e0<<23))); - for(i=0;i<2;i++) { - tx[i] = (float)((int)(z)); - z = (z-tx[i])*two8; - } - tx[2] = z; - nx = 3; - while(tx[nx-1]==zero) nx--; /* skip zero term */ - n = __kernel_rem_pio2f(tx,y,e0,nx,2,two_over_pi); - if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;} - return n; -} - -INLINE_OVERLOADABLE float __kernel_sinf(float x, float y, int iy) -{ - /* copied from fdlibm */ -const float -half_value = 5.0000000000e-01,/* 0x3f000000 */ -S1 = -1.6666667163e-01, /* 0xbe2aaaab */ -S2 = 8.3333337680e-03, /* 0x3c088889 */ -S3 = -1.9841270114e-04, /* 0xb9500d01 */ -S4 = 2.7557314297e-06, /* 0x3638ef1b */ -S5 = -2.5050759689e-08, /* 0xb2d72f34 */ -S6 = 1.5896910177e-10; /* 0x2f2ec9d3 */ - float z,r,v; - int ix; - GEN_OCL_GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; /* high word of x */ - if(ix<0x32000000) /* |x| < 2**-27 */ - {if((int)x==0) return x;} /* generate inexact */ - z = x*x; - v = z*x; - r = S2+z*(S3+z*(S4+z*(S5+z*S6))); - if(iy==0) return x+v*(S1+z*r); - else return x-((z*(half_value*y-v*r)-y)-v*S1); -} - -INLINE float __kernel_cosf(float x, float y) -{ - /* copied from fdlibm */ - const float - one = 1.0000000000e+00, /* 0x3f800000 */ - C1 = 4.1666667908e-02, /* 0x3d2aaaab */ - C2 = -1.3888889225e-03, /* 0xbab60b61 */ - C3 = 2.4801587642e-05, /* 0x37d00d01 */ - C4 = -2.7557314297e-07, /* 0xb493f27c */ - C5 = 2.0875723372e-09, /* 0x310f74f6 */ - C6 = -1.1359647598e-11; /* 0xad47d74e */ - const float pio2_hi = 0x1.92p0, pio2_mid = 0x1.fb4p-12, pio2_low = 0x1.4442d2p-24; - float a,hz,z,r,qx; - int ix; - GEN_OCL_GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; /* ix = |x|'s high word*/ - if(ix<0x32000000) { /* if x < 2**27 */ - if(((int)x)==0) return one; /* generate inexact */ - } - - if(x < 0.0f) { x= -x; y = -y; } - if(ix > 0x3f490fdb) { /* |x|>pi/4*/ - return -__kernel_sinf(x-pio2_hi-pio2_mid-pio2_low, y, 1); - } - z = x*x; - r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6))))); - if(ix < 0x3e99999a) /* if |x| < 0.3 */ - return one - ((float)0.5*z - (z*r - x*y)); - else { - GEN_OCL_SET_FLOAT_WORD(qx,ix-0x01000000); /* x/4 */ - hz = (float)0.5*z-qx; - a = one-qx; - return a - (hz - (z*r-x*y)); - } -} - -INLINE_OVERLOADABLE float sin(float x) { - /* copied from fdlibm */ - float y[2],z=0.0; - int n, ix; - - GEN_OCL_GET_FLOAT_WORD(ix,x); - - /* |x| ~< pi/4 */ - ix &= 0x7fffffff; - if(ix <= 0x3f490fd8) return __kernel_sinf(x,z,0); - - /* sin(Inf or NaN) is NaN */ - else if (ix>=0x7f800000) return x-x; - - /* argument reduction needed */ - else { - n = __ieee754_rem_pio2f(x,y); - switch(n&3) { - case 0: return __kernel_sinf(y[0],y[1],1); - case 1: return __kernel_cosf(y[0],y[1]); - case 2: return -__kernel_sinf(y[0],y[1],1); - default: - return -__kernel_cosf(y[0],y[1]); - } - } -} -INLINE_OVERLOADABLE float cos(float x) { - /* copied from fdlibm */ - float y[2],z=0.0; - int n, ix; - - GEN_OCL_GET_FLOAT_WORD(ix,x); - - /* |x| ~< pi/4 */ - ix &= 0x7fffffff; - if(ix <= 0x3f490fd8) return __kernel_cosf(x,z); - - /* cos(Inf or NaN) is NaN */ - else if (ix>=0x7f800000) return x-x; - - /* argument reduction needed */ - else { - n = __ieee754_rem_pio2f(x,y); - switch(n&3) { - case 0: return __kernel_cosf(y[0],y[1]); - case 1: return -__kernel_sinf(y[0],y[1],1); - case 2: return -__kernel_cosf(y[0],y[1]); - default: - return __kernel_sinf(y[0],y[1],1); - } - } -} - -INLINE float __kernel_tanf(float x, float y, int iy) -{ - /* copied from fdlibm */ - float z,r,v,w,s; - int ix,hx; - const float - one = 1.0000000000e+00, /* 0x3f800000 */ - pio4 = 7.8539812565e-01, /* 0x3f490fda */ - pio4lo= 3.7748947079e-08; /* 0x33222168 */ - float T[13];// = { - T[0] = 3.3333334327e-01; /* 0x3eaaaaab */ - T[1] = 1.3333334029e-01; /* 0x3e088889 */ - T[2] = 5.3968254477e-02; /* 0x3d5d0dd1 */ - T[3] = 2.1869488060e-02; /* 0x3cb327a4 */ - T[4] = 8.8632395491e-03; /* 0x3c11371f */ - T[5] = 3.5920790397e-03; /* 0x3b6b6916 */ - T[6] = 1.4562094584e-03; /* 0x3abede48 */ - T[7] = 5.8804126456e-04; /* 0x3a1a26c8 */ - T[8] = 2.4646313977e-04; /* 0x398137b9 */ - T[9] = 7.8179444245e-05; /* 0x38a3f445 */ - T[10] = 7.1407252108e-05; /* 0x3895c07a */ - T[11] = -1.8558637748e-05; /* 0xb79bae5f */ - T[12] = 2.5907305826e-05; /* 0x37d95384 */ - - - GEN_OCL_GET_FLOAT_WORD(hx,x); - ix = hx&0x7fffffff; /* high word of |x| */ - if(ix<0x31800000) /* x < 2**-28 */ - {if((int)x==0) { /* generate inexact */ - if((ix|(iy+1))==0) return one/__gen_ocl_fabs(x); - else return (iy==1)? x: -one/x; - } - } - if(ix>=0x3f2ca140) { /* |x|>=0.6744 */ - if(hx<0) {x = -x; y = -y;} - - - z = pio4-x; - w = pio4lo-y; - x = z+w; y = 0.0; - } - z = x*x; - w = z*z; - /* Break x^5*(T[1]+x^2*T[2]+...) into - * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) + - * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12])) - */ - r = T[1]+w*(T[3]+w*(T[5]+w*(T[7]+w*(T[9]+w*T[11])))); - v = z*(T[2]+w*(T[4]+w*(T[6]+w*(T[8]+w*(T[10]+w*T[12]))))); - s = z*x; - r = y + z*(s*(r+v)+y); - r += T[0]*s; - w = x+r; - if(ix>=0x3f2ca140) { - v = (float)iy; - return (float)(1-((hx>>30)&2))*(v-(float)2.0*(x-(w*w/(w+v)-r))); - } - if(iy==1) return w; - else { /* if allow error up to 2 ulp - simply return -1.0/(x+r) here */ - /* compute -1.0/(x+r) accurately */ - float a,t; - int i; - z = w; - GEN_OCL_GET_FLOAT_WORD(i,z); - GEN_OCL_SET_FLOAT_WORD(z,i&0xfffff000); - v = r-(z - x); /* z+v = r+x */ - t = a = -(float)1.0/w; /* a = -1.0/w */ - GEN_OCL_GET_FLOAT_WORD(i,t); - GEN_OCL_SET_FLOAT_WORD(t,i&0xfffff000); - s = (float)1.0+t*z; - return t+a*(s+t*v); - } -} - -INLINE_OVERLOADABLE float tan(float x) -{ - /* copied from fdlibm */ - const float pio2_hi = 0x1.92p-0, pio2_mid = 0x1.fb4p-12, pio2_low = 0x1.4442d2p-24; - const float pio4 = 7.8539812565e-01; - float y[2],z=0.0; - int n, ix; - - GEN_OCL_GET_FLOAT_WORD(ix,x); - - /* |x| ~< pi/4 */ - ix &= 0x7fffffff; - if(ix <= 0x3f490fda) return __kernel_tanf(x,z,1); - - /* tan(Inf or NaN) is NaN */ - else if (ix>=0x7f800000) return x-x; /* NaN */ - - /* argument reduction needed */ - else { - n = __ieee754_rem_pio2f(x,y); - - x = y[0]; - float m = y[1]; - int iy = 1-((n&1)<<1); - GEN_OCL_GET_FLOAT_WORD(ix,x); - float sign = 1.0f; - if(ix < 0) { - x = -x; m = -m; - sign = -1.0f; - } - - if(x > pio4) {/* reduce x to less than pi/4 through (pi/2-x) */ - float t = __kernel_tanf(pio2_hi-x+pio2_mid+pio2_low, -m, 1); - if(iy == -1) return sign*(-t); else return sign*1/t; - } else - return __kernel_tanf(y[0],y[1],1-((n&1)<<1)); /* 1 -- n even - -1 -- n odd */ - } -} - -INLINE_OVERLOADABLE float native_cos(float x) { return __gen_ocl_cos(x); } -INLINE_OVERLOADABLE float __gen_ocl_internal_cospi(float x) { - int ix; - if(isinf(x) || isnan(x)) { return NAN; } - if(x < 0.0f) { x = -x; } - GEN_OCL_GET_FLOAT_WORD(ix, x); - if(x> 0x1.0p24) return 1.0f; - float m = __gen_ocl_internal_floor(x); - ix = (int)m; - m = x-m; - if((ix&0x1) != 0) m+=1.0f; - ix = __gen_ocl_internal_floor(m*4.0f); - - switch(ix) { - case 0: - return __kernel_cosf(m*M_PI_F, 0.0f); - case 1: - case 2: - return __kernel_sinf((0.5f-m)*M_PI_F, 0.0f, 0); - case 3: - case 4: - return -__kernel_cosf((m-1.0f)*M_PI_F, 0.0f); - case 5: - case 6: - return __kernel_sinf((m-1.5f)*M_PI_F, 0.0f, 0); - default: - return __kernel_cosf((2.0f-m)*M_PI_F, 0.0f); - } -} -INLINE_OVERLOADABLE float native_sin(float x) { return __gen_ocl_sin(x); } -INLINE_OVERLOADABLE float __gen_ocl_internal_sinpi(float x) { - float sign = 1.0f; - int ix; - if(isinf(x)) return NAN; - if(x < 0.0f) { x = -x; sign = -1.0f; } - GEN_OCL_GET_FLOAT_WORD(ix, x); - if(x> 0x1.0p24) return 0.0f; - float m = __gen_ocl_internal_floor(x); - ix = (int)m; - m = x-m; - if((ix&0x1) != 0) m+=1.0f; - ix = __gen_ocl_internal_floor(m*4.0f); - - switch(ix) { - case 0: - return sign*__kernel_sinf(m*M_PI_F, 0.0f, 0); - case 1: - case 2: - return sign*__kernel_cosf((m-0.5f)*M_PI_F, 0.0f); - case 3: - case 4: - return -sign*__kernel_sinf((m-1.0f)*M_PI_F, 0.0f, 0); - case 5: - case 6: - return -sign*__kernel_cosf((m-1.5f)*M_PI_F, 0.0f); - default: - return -sign*__kernel_sinf((2.0f-m)*M_PI_F, 0.0f, 0); - } - -} -INLINE_OVERLOADABLE float native_sqrt(float x) { return __gen_ocl_sqrt(x); } -INLINE_OVERLOADABLE float native_rsqrt(float x) { return __gen_ocl_rsqrt(x); } -INLINE_OVERLOADABLE float native_log2(float x) { return __gen_ocl_log(x); } -INLINE_OVERLOADABLE float native_log(float x) { - return native_log2(x) * 0.6931472002f; -} -INLINE_OVERLOADABLE float tgamma(float x) { -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - float pi = 3.1415927410e+00, - a0 = 7.7215664089e-02, - a1 = 3.2246702909e-01, - a2 = 6.7352302372e-02, - a3 = 2.0580807701e-02, - a4 = 7.3855509982e-03, - a5 = 2.8905137442e-03, - a6 = 1.1927076848e-03, - a7 = 5.1006977446e-04, - a8 = 2.2086278477e-04, - a9 = 1.0801156895e-04, - a10 = 2.5214456400e-05, - a11 = 4.4864096708e-05, - tc = 1.4616321325e+00, - tf = -1.2148628384e-01, - tt = 6.6971006518e-09, - t0 = 4.8383611441e-01, - t1 = -1.4758771658e-01, - t2 = 6.4624942839e-02, - t3 = -3.2788541168e-02, - t4 = 1.7970675603e-02, - t5 = -1.0314224288e-02, - t6 = 6.1005386524e-03, - t7 = -3.6845202558e-03, - t8 = 2.2596477065e-03, - t9 = -1.4034647029e-03, - t10 = 8.8108185446e-04, - t11 = -5.3859531181e-04, - t12 = 3.1563205994e-04, - t13 = -3.1275415677e-04, - t14 = 3.3552918467e-04, - u0 = -7.7215664089e-02, - u1 = 6.3282704353e-01, - u2 = 1.4549225569e+00, - u3 = 9.7771751881e-01, - u4 = 2.2896373272e-01, - u5 = 1.3381091878e-02, - v1 = 2.4559779167e+00, - v2 = 2.1284897327e+00, - v3 = 7.6928514242e-01, - v4 = 1.0422264785e-01, - v5 = 3.2170924824e-03, - s0 = -7.7215664089e-02, - s1 = 2.1498242021e-01, - s2 = 3.2577878237e-01, - s3 = 1.4635047317e-01, - s4 = 2.6642270386e-02, - s5 = 1.8402845599e-03, - s6 = 3.1947532989e-05, - r1 = 1.3920053244e+00, - r2 = 7.2193557024e-01, - r3 = 1.7193385959e-01, - r4 = 1.8645919859e-02, - r5 = 7.7794247773e-04, - r6 = 7.3266842264e-06, - w0 = 4.1893854737e-01, - w1 = 8.3333335817e-02, - w2 = -2.7777778450e-03, - w3 = 7.9365057172e-04, - w4 = -5.9518753551e-04, - w5 = 8.3633989561e-04, - w6 = -1.6309292987e-03; - float t, y, z, nadj, p, p1, p2, p3, q, r, w; - int i, hx, ix; - nadj = 0; - hx = *(int *) (&x); - ix = hx & 0x7fffffff; - if (ix >= 0x7f800000) - return x * x; - if (ix == 0) - return INFINITY; - if (ix < 0x1c800000) { - if (hx < 0) { - return - native_log(-x); - } else - return - native_log(x); - } - if (hx < 0) { - if (ix >= 0x4b000000) - return INFINITY; - t = __gen_ocl_internal_sinpi(x); - if (__gen_ocl_fabs(t) < 1e-8f) - return INFINITY; - nadj = native_log(M_PI_F / __gen_ocl_fabs(t * x)); - x = -x; - } - - if (ix == 0x3f800000 || ix == 0x40000000) - r = 0; - else if (ix < 0x40000000) { - if (ix <= 0x3f666666) { - r = - native_log(x); - if (ix >= 0x3f3b4a20) { - y = 1 - x; - i = 0; - } else if (ix >= 0x3e6d3308) { - y = x - (tc - 1); - i = 1; - } else { - y = x; - i = 2; - } - } else { - r = 0; - if (ix >= 0x3fdda618) { - y = 2 - x; - i = 0; - } else if (ix >= 0x3F9da620) { - y = x - tc; - i = 1; - } else { - y = x - 1; - i = 2; - } - } - switch (i) { - case 0: - z = y * y; - p1 = a0 + z * (a2 + z * (a4 + z * (a6 + z * (a8 + z * a10)))); - p2 = z * (a1 + z * (a3 + z * (a5 + z * (a7 + z * (a9 + z * a11))))); - p = y * p1 + p2; - r += (p - .5f * y); - break; - case 1: - z = y * y; - w = z * y; - p1 = t0 + w * (t3 + w * (t6 + w * (t9 + w * t12))); - p2 = t1 + w * (t4 + w * (t7 + w * (t10 + w * t13))); - p3 = t2 + w * (t5 + w * (t8 + w * (t11 + w * t14))); - p = z * p1 - (tt - w * (p2 + y * p3)); - r += (tf + p); - break; - case 2: - p1 = y * (u0 + y * (u1 + y * (u2 + y * (u3 + y * (u4 + y * u5))))); - p2 = 1 + y * (v1 + y * (v2 + y * (v3 + y * (v4 + y * v5)))); - r += (-.5f * y + p1 / p2); - } - } else if (ix < 0x41000000) { - i = x; - t = 0; - y = x - i; - p = y*(s0+y*(s1+y*(s2+y*(s3+y*(s4+y*(s5+y*s6)))))); - q = 1 + y * (r1 + y * (r2 + y * (r3 + y * (r4 + y * (r5 + y * r6))))); - r = .5f * y + p / q; - z = 1; - switch (i) { - case 7: - z *= (y + 6.f); - case 6: - z *= (y + 5.f); - case 5: - z *= (y + 4.f); - case 4: - z *= (y + 3.f); - case 3: - z *= (y + 2.f); - r += native_log(z); - break; - } - } else if (ix < 0x5c800000) { - t = native_log(x); - z = 1 / x; - y = z * z; - w = w0 + z * (w1 + y * (w2 + y * (w3 + y * (w4 + y * (w5 + y * w6))))); - r = (x - .5f) * (t - 1) + w; - } else - r = x * (native_log(x) - 1); - if (hx < 0) - r = nadj - r; - return r; -} - -INLINE_OVERLOADABLE float lgamma(float x) { -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - const float - zero= 0., - one = 1.0000000000e+00, - pi = 3.1415927410e+00, - a0 = 7.7215664089e-02, - a1 = 3.2246702909e-01, - a2 = 6.7352302372e-02, - a3 = 2.0580807701e-02, - a4 = 7.3855509982e-03, - a5 = 2.8905137442e-03, - a6 = 1.1927076848e-03, - a7 = 5.1006977446e-04, - a8 = 2.2086278477e-04, - a9 = 1.0801156895e-04, - a10 = 2.5214456400e-05, - a11 = 4.4864096708e-05, - tc = 1.4616321325e+00, - tf = -1.2148628384e-01, - tt = 6.6971006518e-09, - t0 = 4.8383611441e-01, - t1 = -1.4758771658e-01, - t2 = 6.4624942839e-02, - t3 = -3.2788541168e-02, - t4 = 1.7970675603e-02, - t5 = -1.0314224288e-02, - t6 = 6.1005386524e-03, - t7 = -3.6845202558e-03, - t8 = 2.2596477065e-03, - t9 = -1.4034647029e-03, - t10 = 8.8108185446e-04, - t11 = -5.3859531181e-04, - t12 = 3.1563205994e-04, - t13 = -3.1275415677e-04, - t14 = 3.3552918467e-04, - u0 = -7.7215664089e-02, - u1 = 6.3282704353e-01, - u2 = 1.4549225569e+00, - u3 = 9.7771751881e-01, - u4 = 2.2896373272e-01, - u5 = 1.3381091878e-02, - v1 = 2.4559779167e+00, - v2 = 2.1284897327e+00, - v3 = 7.6928514242e-01, - v4 = 1.0422264785e-01, - v5 = 3.2170924824e-03, - s0 = -7.7215664089e-02, - s1 = 2.1498242021e-01, - s2 = 3.2577878237e-01, - s3 = 1.4635047317e-01, - s4 = 2.6642270386e-02, - s5 = 1.8402845599e-03, - s6 = 3.1947532989e-05, - r1 = 1.3920053244e+00, - r2 = 7.2193557024e-01, - r3 = 1.7193385959e-01, - r4 = 1.8645919859e-02, - r5 = 7.7794247773e-04, - r6 = 7.3266842264e-06, - w0 = 4.1893854737e-01, - w1 = 8.3333335817e-02, - w2 = -2.7777778450e-03, - w3 = 7.9365057172e-04, - w4 = -5.9518753551e-04, - w5 = 8.3633989561e-04, - w6 = -1.6309292987e-03; - float t, y, z, nadj, p, p1, p2, p3, q, r, w; - int i, hx, ix; - nadj = 0; - hx = *(int *)&x; - ix = hx & 0x7fffffff; - if (ix >= 0x7f800000) - return x * x; - if (ix == 0) - return ((x + one) / zero); - if (ix < 0x1c800000) { - if (hx < 0) { - return -native_log(-x); - } else - return -native_log(x); - } - if (hx < 0) { - if (ix >= 0x4b000000) - return ((-x) / zero); - t = __gen_ocl_internal_sinpi(x); - if (t == zero) - return ((-x) / zero); - nadj = native_log(pi / __gen_ocl_fabs(t * x)); - x = -x; - } - if (ix == 0x3f800000 || ix == 0x40000000) - r = 0; - else if (ix < 0x40000000) { - if (ix <= 0x3f666666) { - r = -native_log(x); - if (ix >= 0x3f3b4a20) { - y = one - x; - i = 0; - } else if (ix >= 0x3e6d3308) { - y = x - (tc - one); - i = 1; - } else { - y = x; - i = 2; - } - } else { - r = zero; - if (ix >= 0x3fdda618) { - y = (float) 2.0 - x; - i = 0; - } - else if (ix >= 0x3F9da620) { - y = x - tc; - i = 1; - } - else { - y = x - one; - i = 2; - } - } - switch (i) { - case 0: - z = y * y; - p1 = a0 + z * (a2 + z * (a4 + z * (a6 + z * (a8 + z * a10)))); - p2 = z * (a1 + z * (a3 + z * (a5 + z * (a7 + z * (a9 + z * a11))))); - p = y * p1 + p2; - r += (p - (float) 0.5 * y); - break; - case 1: - z = y * y; - w = z * y; - p1 = t0 + w * (t3 + w * (t6 + w * (t9 + w * t12))); - p2 = t1 + w * (t4 + w * (t7 + w * (t10 + w * t13))); - p3 = t2 + w * (t5 + w * (t8 + w * (t11 + w * t14))); - p = z * p1 - (tt - w * (p2 + y * p3)); - r += (tf + p); - break; - case 2: - p1 = y * (u0 + y * (u1 + y * (u2 + y * (u3 + y * (u4 + y * u5))))); - p2 = one + y * (v1 + y * (v2 + y * (v3 + y * (v4 + y * v5)))); - r += (-(float) 0.5 * y + p1 / p2); - } - } else if (ix < 0x41000000) { - i = (int) x; - t = zero; - y = x - (float) i; - p = y * (s0 + y * (s1 + y * (s2 + y * (s3 + y * (s4 + y * (s5 + y * s6)))))); - q = one + y * (r1 + y * (r2 + y * (r3 + y * (r4 + y * (r5 + y * r6))))); - r = .5f * y + p / q; - z = one; - switch (i) { - case 7: - z *= (y + (float) 6.0); - case 6: - z *= (y + (float) 5.0); - case 5: - z *= (y + (float) 4.0); - case 4: - z *= (y + (float) 3.0); - case 3: - z *= (y + (float) 2.0); - r += native_log(z); - break; - } - - } else if (ix < 0x5c800000) { - t = native_log(x); - z = one / x; - y = z * z; - w = w0 + z * (w1 + y * (w2 + y * (w3 + y * (w4 + y * (w5 + y * w6))))); - r = (x - .5f) * (t - one) + w; - } else - r = x * (native_log(x) - one); - if (hx < 0) - r = nadj - r; - return r; -} - -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ -#define BODY \ - const float \ - zero= 0., \ - one = 1.0000000000e+00, \ - pi = 3.1415927410e+00, \ - a0 = 7.7215664089e-02, \ - a1 = 3.2246702909e-01, \ - a2 = 6.7352302372e-02, \ - a3 = 2.0580807701e-02, \ - a4 = 7.3855509982e-03, \ - a5 = 2.8905137442e-03, \ - a6 = 1.1927076848e-03, \ - a7 = 5.1006977446e-04, \ - a8 = 2.2086278477e-04, \ - a9 = 1.0801156895e-04, \ - a10 = 2.5214456400e-05, \ - a11 = 4.4864096708e-05, \ - tc = 1.4616321325e+00, \ - tf = -1.2148628384e-01, \ - tt = 6.6971006518e-09, \ - t0 = 4.8383611441e-01, \ - t1 = -1.4758771658e-01, \ - t2 = 6.4624942839e-02, \ - t3 = -3.2788541168e-02, \ - t4 = 1.7970675603e-02, \ - t5 = -1.0314224288e-02, \ - t6 = 6.1005386524e-03, \ - t7 = -3.6845202558e-03, \ - t8 = 2.2596477065e-03, \ - t9 = -1.4034647029e-03, \ - t10 = 8.8108185446e-04, \ - t11 = -5.3859531181e-04, \ - t12 = 3.1563205994e-04, \ - t13 = -3.1275415677e-04, \ - t14 = 3.3552918467e-04, \ - u0 = -7.7215664089e-02, \ - u1 = 6.3282704353e-01, \ - u2 = 1.4549225569e+00, \ - u3 = 9.7771751881e-01, \ - u4 = 2.2896373272e-01, \ - u5 = 1.3381091878e-02, \ - v1 = 2.4559779167e+00, \ - v2 = 2.1284897327e+00, \ - v3 = 7.6928514242e-01, \ - v4 = 1.0422264785e-01, \ - v5 = 3.2170924824e-03, \ - s0 = -7.7215664089e-02, \ - s1 = 2.1498242021e-01, \ - s2 = 3.2577878237e-01, \ - s3 = 1.4635047317e-01, \ - s4 = 2.6642270386e-02, \ - s5 = 1.8402845599e-03, \ - s6 = 3.1947532989e-05, \ - r1 = 1.3920053244e+00, \ - r2 = 7.2193557024e-01, \ - r3 = 1.7193385959e-01, \ - r4 = 1.8645919859e-02, \ - r5 = 7.7794247773e-04, \ - r6 = 7.3266842264e-06, \ - w0 = 4.1893854737e-01, \ - w1 = 8.3333335817e-02, \ - w2 = -2.7777778450e-03, \ - w3 = 7.9365057172e-04, \ - w4 = -5.9518753551e-04, \ - w5 = 8.3633989561e-04, \ - w6 = -1.6309292987e-03; \ - float t, y, z, nadj, p, p1, p2, p3, q, r, w; \ - int i, hx, ix; \ - nadj = 0; \ - hx = *(int *)&x; \ - *signgamp = 1; \ - ix = hx & 0x7fffffff; \ - if (ix >= 0x7f800000) \ - return x * x; \ - if (ix == 0) \ - return ((x + one) / zero); \ - if (ix < 0x1c800000) { \ - if (hx < 0) { \ - *signgamp = -1; \ - return -native_log(-x); \ - } else \ - return -native_log(x); \ - } \ - if (hx < 0) { \ - if (ix >= 0x4b000000) \ - return ((-x) / zero); \ - t = __gen_ocl_internal_sinpi(x); \ - if (t == zero) \ - return ((-x) / zero); \ - nadj = native_log(pi / __gen_ocl_fabs(t * x)); \ - if (t < zero) \ - *signgamp = -1; \ - x = -x; \ - } \ - if (ix == 0x3f800000 || ix == 0x40000000) \ - r = 0; \ - else if (ix < 0x40000000) { \ - if (ix <= 0x3f666666) { \ - r = -native_log(x); \ - if (ix >= 0x3f3b4a20) { \ - y = one - x; \ - i = 0; \ - } else if (ix >= 0x3e6d3308) { \ - y = x - (tc - one); \ - i = 1; \ - } else { \ - y = x; \ - i = 2; \ - } \ - } else { \ - r = zero; \ - if (ix >= 0x3fdda618) { \ - y = (float) 2.0 - x; \ - i = 0; \ - } \ - else if (ix >= 0x3F9da620) { \ - y = x - tc; \ - i = 1; \ - } \ - else { \ - y = x - one; \ - i = 2; \ - } \ - } \ - switch (i) { \ - case 0: \ - z = y * y; \ - p1 = a0 + z * (a2 + z * (a4 + z * (a6 + z * (a8 + z * a10)))); \ - p2 = z * (a1 + z * (a3 + z * (a5 + z * (a7 + z * (a9 + z * a11))))); \ - p = y * p1 + p2; \ - r += (p - (float) 0.5 * y); \ - break; \ - case 1: \ - z = y * y; \ - w = z * y; \ - p1 = t0 + w * (t3 + w * (t6 + w * (t9 + w * t12))); \ - p2 = t1 + w * (t4 + w * (t7 + w * (t10 + w * t13))); \ - p3 = t2 + w * (t5 + w * (t8 + w * (t11 + w * t14))); \ - p = z * p1 - (tt - w * (p2 + y * p3)); \ - r += (tf + p); \ - break; \ - case 2: \ - p1 = y * (u0 + y * (u1 + y * (u2 + y * (u3 + y * (u4 + y * u5))))); \ - p2 = one + y * (v1 + y * (v2 + y * (v3 + y * (v4 + y * v5)))); \ - r += (-(float) 0.5 * y + p1 / p2); \ - } \ - } else if (ix < 0x41000000) { \ - i = (int) x; \ - t = zero; \ - y = x - (float) i; \ - p = y * (s0 + y * (s1 + y * (s2 + y * (s3 + y * (s4 + y * (s5 + y * s6)))))); \ - q = one + y * (r1 + y * (r2 + y * (r3 + y * (r4 + y * (r5 + y * r6))))); \ - r = .5f * y + p / q; \ - z = one; \ - switch (i) { \ - case 7: \ - z *= (y + (float) 6.0); \ - case 6: \ - z *= (y + (float) 5.0); \ - case 5: \ - z *= (y + (float) 4.0); \ - case 4: \ - z *= (y + (float) 3.0); \ - case 3: \ - z *= (y + (float) 2.0); \ - r += native_log(z); \ - break; \ - } \ - \ - } else if (ix < 0x5c800000) { \ - t = native_log(x); \ - z = one / x; \ - y = z * z; \ - w = w0 + z * (w1 + y * (w2 + y * (w3 + y * (w4 + y * (w5 + y * w6))))); \ - r = (x - .5f) * (t - one) + w; \ - } else \ - r = x * (native_log(x) - one); \ - if (hx < 0) \ - r = nadj - r; \ - return r; -INLINE_OVERLOADABLE float lgamma_r(float x, global int *signgamp) { BODY; } -INLINE_OVERLOADABLE float lgamma_r(float x, local int *signgamp) { BODY; } -INLINE_OVERLOADABLE float lgamma_r(float x, private int *signgamp) { BODY; } -#undef BODY - -INLINE_OVERLOADABLE float native_log10(float x) { - return native_log2(x) * 0.3010299956f; -} -INLINE_OVERLOADABLE float log1p(float x) { -/* - * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunPro, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - const float - ln2_hi = 6.9313812256e-01, /* 0x3f317180 */ - ln2_lo = 9.0580006145e-06, /* 0x3717f7d1 */ - two25 = 3.355443200e+07, /* 0x4c000000 */ - Lp1 = 6.6666668653e-01, /* 3F2AAAAB */ - Lp2 = 4.0000000596e-01, /* 3ECCCCCD */ - Lp3 = 2.8571429849e-01, /* 3E924925 */ - Lp4 = 2.2222198546e-01, /* 3E638E29 */ - Lp5 = 1.8183572590e-01, /* 3E3A3325 */ - Lp6 = 1.5313838422e-01, /* 3E1CD04F */ - Lp7 = 1.4798198640e-01; /* 3E178897 */ - const float zero = 0.0; - float hfsq,f,c,s,z,R,u; - int k,hx,hu,ax; - union {float f; unsigned i;} un; - un.f = x; hx = un.i; - ax = hx&0x7fffffff; - - k = 1; - if (hx < 0x3ed413d7) { /* x < 0.41422 */ - if(ax>=0x3f800000) { /* x <= -1.0 */ - if(x==(float)-1.0) return -two25/zero; /* log1p(-1)=+inf */ - else return (x-x)/(x-x); /* log1p(x<-1)=NaN */ - } - if(ax<0x31000000) { /* |x| < 2**-29 */ - if(two25+x>zero /* raise inexact */ - &&ax<0x24800000) /* |x| < 2**-54 */ - return x; - else - return x - x*x*(float)0.5; - } - if(hx>0||hx<=((int)0xbe95f61f)) { - k=0;f=x;hu=1;} /* -0.2929= 0x7f800000) return x+x; - if(k!=0) { - if(hx<0x5a000000) { - u = (float)1.0+x; - - un.f = u; hu = un.i; - k = (hu>>23)-127; - /* correction term */ - c = (k>0)? (float)1.0-(u-x):x-(u-(float)1.0); - c /= u; - } else { - u = x; - un.f = u; hu = un.i; - k = (hu>>23)-127; - c = 0; - } - hu &= 0x007fffff; - if(hu<0x3504f7) { - un.i = hu|0x3f800000; u = un.f;/* normalize u */ - } else { - k += 1; - un.i = hu|0x3f000000; u = un.f; /* normalize u/2 */ - hu = (0x00800000-hu)>>2; - } - f = u-(float)1.0; - } - hfsq=(float)0.5*f*f; - if(hu==0) { /* |f| < 2**-20 */ - if(f==zero) { if(k==0) return zero; - else {c += k*ln2_lo; return k*ln2_hi+c;} } - R = hfsq*((float)1.0-(float)0.66666666666666666*f); - if(k==0) return f-R; else - return k*ln2_hi-((R-(k*ln2_lo+c))-f); - } - s = f/((float)2.0+f); - z = s*s; - R = z*(Lp1+z*(Lp2+z*(Lp3+z*(Lp4+z*(Lp5+z*(Lp6+z*Lp7)))))); - if(k==0) return f-(hfsq-s*(hfsq+R)); else - return k*ln2_hi-((hfsq-(s*(hfsq+R)+(k*ln2_lo+c)))-f); - -} -INLINE_OVERLOADABLE float logb(float x) { -union {float f; unsigned i;} u; - u.f = x; - int e = ((u.i & 0x7f800000) >> 23); - if(e == 0) { - /* sub normal or +/-0 */ - return -INFINITY; - } else if(e == 0xff) { - /* inf & nan */ - return x*x; - } else { - return (float)(e-127); - } -} -#define FP_ILOGB0 (-0x7FFFFFFF-1) -#define FP_ILOGBNAN FP_ILOGB0 -INLINE_OVERLOADABLE int ilogb(float x) { - union { int i; float f; } u; - if (isnan(x)) - return FP_ILOGBNAN; - if (isinf(x)) - return 0x7FFFFFFF; - u.f = x; - u.i &= 0x7fffffff; - if (u.i == 0) - return FP_ILOGB0; - if (u.i >= 0x800000) - return (u.i >> 23) - 127; - int r = -126; - int a = u.i & 0x7FFFFF; - while(a < 0x800000) { - a <<= 1; - r --; - } - return r; -} -INLINE_OVERLOADABLE float nan(uint code) { - return NAN; -} -INLINE_OVERLOADABLE float native_powr(float x, float y) { return __gen_ocl_pow(x,y); } -INLINE_OVERLOADABLE float native_recip(float x) { return __gen_ocl_rcp(x); } -INLINE_OVERLOADABLE float native_tan(float x) { - return native_sin(x) / native_cos(x); -} -INLINE_OVERLOADABLE float __gen_ocl_internal_tanpi(float x) { - float sign = 1.0f; - int ix; - if(isinf(x)) return NAN; - if(x < 0.0f) { x = -x; sign = -1.0f; } - GEN_OCL_GET_FLOAT_WORD(ix, x); - if(x> 0x1.0p24) return 0.0f; - float m = __gen_ocl_internal_floor(x); - ix = (int)m; - m = x-m; - int n = __gen_ocl_internal_floor(m*4.0f); - if(m == 0.5f) { - return (ix&0x1) == 0 ? sign*INFINITY : sign*-INFINITY; - } - if(m == 0.0f) { - return (ix&0x1) == 0 ? 0.0f : -0.0f; - } - - switch(n) { - case 0: - return sign * __kernel_tanf(m*M_PI_F, 0.0f, 1); - case 1: - return sign * 1.0f/__kernel_tanf((0.5f-m)*M_PI_F, 0.0f, 1); - case 2: - return sign * 1.0f/__kernel_tanf((0.5f-m)*M_PI_F, 0.0f, 1); - default: - return sign * -1.0f*__kernel_tanf((1.0f-m)*M_PI_F, 0.0f, 1); - } -} -INLINE_OVERLOADABLE float native_exp2(float x) { return __gen_ocl_exp(x); } -INLINE_OVERLOADABLE float native_exp(float x) { return __gen_ocl_exp(M_LOG2E_F*x); } -INLINE_OVERLOADABLE float native_exp10(float x) { return __gen_ocl_pow(10, x); } -INLINE_OVERLOADABLE float __gen_ocl_internal_cbrt(float x) { - /* copied from fdlibm */ - const unsigned - B1 = 709958130, /* B1 = (84+2/3-0.03306235651)*2**23 */ - B2 = 642849266; /* B2 = (76+2/3-0.03306235651)*2**23 */ - - const float - C = 5.4285717010e-01, /* 19/35 = 0x3f0af8b0 */ - D = -7.0530611277e-01, /* -864/1225 = 0xbf348ef1 */ - E = 1.4142856598e+00, /* 99/70 = 0x3fb50750 */ - F = 1.6071428061e+00, /* 45/28 = 0x3fcdb6db */ - G = 3.5714286566e-01; /* 5/14 = 0x3eb6db6e */ - - float r,s,t, w; - int hx; - uint sign; - uint high; - - GEN_OCL_GET_FLOAT_WORD(hx,x); - sign=hx&0x80000000; /* sign= sign(x) */ - hx ^=sign; - if(hx>=0x7f800000) return(x+x); /* cbrt(NaN,INF) is itself */ - if(hx==0) - return(x); /* cbrt(0) is itself */ - - GEN_OCL_SET_FLOAT_WORD(x,hx); /* x <- |x| */ - /* rough cbrt to 5 bits */ - if(hx<0x00800000) /* subnormal number */ - { - //SET_FLOAT_WORD(t,0x4b800000); /* set t= 2**24 */ - //t*=x; GET_FLOAT_WORD(high,t); SET_FLOAT_WORD(t,high/3+B2); - t = (sign = 0) ? 0.0f : -0.0f; - return t; - } - else - GEN_OCL_SET_FLOAT_WORD(t,hx/3+B1); - - - /* new cbrt to 23 bits */ - r=t*t/x; - s=C+r*t; - t*=G+F/(s+E+D/s); - /* one step newton iteration to 53 bits with error less than 0.667 ulps */ - s=t*t; /* t*t is exact */ - r=x/s; - w=t+t; - r=(r-t)/(w+r); /* r-s is exact */ - t=t+t*r; - - /* retore the sign bit */ - GEN_OCL_GET_FLOAT_WORD(high,t); - GEN_OCL_SET_FLOAT_WORD(t,high|sign); - return(t); -} - -#define BODY \ - *cosval = cos(x); \ - return sin(x); -INLINE_OVERLOADABLE float sincos(float x, global float *cosval) { BODY; } -INLINE_OVERLOADABLE float sincos(float x, local float *cosval) { BODY; } -INLINE_OVERLOADABLE float sincos(float x, private float *cosval) { BODY; } -#undef BODY - -INLINE float __gen_ocl_asin_util(float x) { -/* - * ==================================================== - * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. - * - * Developed at SunSoft, a Sun Microsystems, Inc. business. - * Permission to use, copy, modify, and distribute this - * software is freely granted, provided that this notice - * is preserved. - * ==================================================== - */ - float - pS0 = 1.66666666666666657415e-01, - pS1 = -3.25565818622400915405e-01, - pS2 = 2.01212532134862925881e-01, - pS3 = -4.00555345006794114027e-02, - pS4 = 7.91534994289814532176e-04, - pS5 = 3.47933107596021167570e-05, - qS1 = -2.40339491173441421878e+00, - qS2 = 2.02094576023350569471e+00, - qS3 = -6.88283971605453293030e-01, - qS4 = 7.70381505559019352791e-02; - - float t = x*x; - float p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5))))); - float q = 1.0+t*(qS1+t*(qS2+t*(qS3+t*qS4))); - float w = p / q; - return x + x*w; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_asin(float x) { - uint ix; - union { uint i; float f; } u; - u.f = x; - ix = u.i & 0x7fffffff; - if(ix == 0x3f800000) { - return x * M_PI_2_F; /* asin(|1|)=+-pi/2 with inexact */ - } - if(ix > 0x3f800000) { /* |x|>= 1 */ - return NAN; /* asin(|x|>1) is NaN */ - } - - if(ix < 0x32000000) { /* if |x| < 2**-27 */ - if(HUGE_VALF + x > FLT_ONE) return x; /* return x with inexact if x!=0*/ - } - - if(x < -0.5) { - return 2 * __gen_ocl_asin_util(native_sqrt((1+x) / 2)) - M_PI_2_F; - } else if(x > 0.5) { - return M_PI_2_F - 2 * __gen_ocl_asin_util(native_sqrt((1-x) / 2)); - } else { - return __gen_ocl_asin_util(x); - } -} -INLINE_OVERLOADABLE float __gen_ocl_internal_asinpi(float x) { - return __gen_ocl_internal_asin(x) / M_PI_F; -} -INLINE_OVERLOADABLE float __gen_ocl_internal_acos(float x) { - if(x > 0.5) - return 2 * __gen_ocl_asin_util(native_sqrt((1-x)/2)); - else - return M_PI_2_F - __gen_ocl_internal_asin(x); -} -INLINE_OVERLOADABLE float __gen_ocl_internal_acospi(float x) { - return __gen_ocl_internal_acos(x) / M_PI_F; -} -__constant float atanhi[4] = { - 4.6364760399e-01, /* atan(0.5)hi 0x3eed6338 */ - 7.8539812565e-01, /* atan(1.0)hi 0x3f490fda */ - 9.8279368877e-01, /* atan(1.5)hi 0x3f7b985e */ - 1.5707962513e+00, /* atan(inf)hi 0x3fc90fda */ -}; -__constant float atanlo[4] = { - 5.0121582440e-09, /* atan(0.5)lo 0x31ac3769 */ - 3.7748947079e-08, /* atan(1.0)lo 0x33222168 */ - 3.4473217170e-08, /* atan(1.5)lo 0x33140fb4 */ - 7.5497894159e-08, /* atan(inf)lo 0x33a22168 */ -}; - -INLINE_OVERLOADABLE float __gen_ocl_internal_atan(float x) { - /* copied from fdlibm */ - float aT[11]; - aT[0] = 3.3333334327e-01; /* 0x3eaaaaaa */ - aT[1] = -2.0000000298e-01; /* 0xbe4ccccd */ - aT[2] = 1.4285714924e-01; /* 0x3e124925 */ - aT[3] = -1.1111110449e-01; /* 0xbde38e38 */ - aT[4] = 9.0908870101e-02; /* 0x3dba2e6e */ - aT[5] = -7.6918758452e-02; /* 0xbd9d8795 */ - aT[6] = 6.6610731184e-02; /* 0x3d886b35 */ - aT[7] = -5.8335702866e-02; /* 0xbd6ef16b */ - aT[8] = 4.9768779427e-02; /* 0x3d4bda59 */ - aT[9] = -3.6531571299e-02; /* 0xbd15a221 */ - aT[10] = 1.6285819933e-02; /* 0x3c8569d7 */ - const float one = 1.0, huge = 1.0e30; - - float w,s1,s2,z; - int ix,hx,id; - - GEN_OCL_GET_FLOAT_WORD(hx,x); - ix = hx&0x7fffffff; - if(ix>=0x50800000) { /* if |x| >= 2^34 */ - if(ix>0x7f800000) - return x+x; /* NaN */ - if(hx>0) return atanhi[3]+atanlo[3]; - else return -atanhi[3]-atanlo[3]; - } if (ix < 0x3ee00000) { /* |x| < 0.4375 */ - if (ix < 0x31000000) { /* |x| < 2^-29 */ - if(huge+x>one) return x; /* raise inexact */ - } - id = -1; - } else { - x = __gen_ocl_fabs(x); - if (ix < 0x3f980000) { /* |x| < 1.1875 */ - if (ix < 0x3f300000) { /* 7/16 <=|x|<11/16 */ - id = 0; x = ((float)2.0*x-one)/((float)2.0+x); - } else { /* 11/16<=|x|< 19/16 */ - id = 1; x = (x-one)/(x+one); - } - } else { - if (ix < 0x401c0000) { /* |x| < 2.4375 */ - id = 2; x = (x-(float)1.5)/(one+(float)1.5*x); - } else { /* 2.4375 <= |x| < 2^66 */ - id = 3; x = -(float)1.0/x; - } - }} - /* end of argument reduction */ - z = x*x; - w = z*z; - /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */ - s1 = z*(aT[0]+w*(aT[2]+w*(aT[4]+w*(aT[6]+w*(aT[8]+w*aT[10]))))); - s2 = w*(aT[1]+w*(aT[3]+w*(aT[5]+w*(aT[7]+w*aT[9])))); - if (id<0) return x - x*(s1+s2); - else { - z = atanhi[id] - ((x*(s1+s2) - atanlo[id]) - x); - return (hx<0)? -z:z; - } - -} -INLINE_OVERLOADABLE float __gen_ocl_internal_atanpi(float x) { - return __gen_ocl_internal_atan(x) / M_PI_F; -} -INLINE_OVERLOADABLE float __gen_ocl_internal_erf(float x) { - return M_2_SQRTPI_F * (x - __gen_ocl_pow(x, 3) / 3 + __gen_ocl_pow(x, 5) / 10 - __gen_ocl_pow(x, 7) / 42 + __gen_ocl_pow(x, 9) / 216); -} -INLINE_OVERLOADABLE float __gen_ocl_internal_erfc(float x) { - return 1 - __gen_ocl_internal_erf(x); -} - -// XXX work-around PTX profile -#define sqrt native_sqrt -INLINE_OVERLOADABLE float rsqrt(float x) { return native_rsqrt(x); } -INLINE_OVERLOADABLE float __gen_ocl_internal_atan2(float y, float x) { - /* copied from fdlibm */ - float z; - int k,m,hx,hy,ix,iy; - const float - tiny = 1.0e-30, - zero = 0.0, - pi_o_4 = 7.8539818525e-01, /* 0x3f490fdb */ - pi_o_2 = 1.5707963705e+00, /* 0x3fc90fdb */ - pi = 3.1415927410e+00, /* 0x40490fdb */ - pi_lo = -8.7422776573e-08; /* 0xb3bbbd2e */ - - GEN_OCL_GET_FLOAT_WORD(hx,x); - ix = hx&0x7fffffff; - GEN_OCL_GET_FLOAT_WORD(hy,y); - iy = hy&0x7fffffff; - - if((ix>0x7f800000)|| - (iy>0x7f800000)) /* x or y is NaN */ - return x+y; - if(hx==0x3f800000) return z=__gen_ocl_internal_atan(y); /* x=1.0 */ - m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */ - - /* when y = 0 */ - if(iy==0) { - switch(m) { - case 0: - case 1: return y; /* atan(+-0,+anything)=+-0 */ - case 2: return pi+tiny;/* atan(+0,-anything) = pi */ - case 3: return -pi-tiny;/* atan(-0,-anything) =-pi */ - } - } - /* when x = 0 */ - if(ix==0) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny; - - /* both are denorms. Gen does not support denorm, so we convert to normal float number*/ - if(ix <= 0x7fffff && iy <= 0x7fffff) { - x = (float)(ix) * (1.0f - ((hx>>30) & 0x2)); - y = (float)(iy) * (1.0f - ((hy>>30) & 0x2)); - } - - /* when x is INF */ - if(ix==0x7f800000) { - if(iy==0x7f800000) { - switch(m) { - case 0: return pi_o_4+tiny;/* atan(+INF,+INF) */ - case 1: return -pi_o_4-tiny;/* atan(-INF,+INF) */ - case 2: return (float)3.0*pi_o_4+tiny;/*atan(+INF,-INF)*/ - case 3: return (float)-3.0*pi_o_4-tiny;/*atan(-INF,-INF)*/ - } - } else { - switch(m) { - case 0: return zero ; /* atan(+...,+INF) */ - case 1: return -zero ; /* atan(-...,+INF) */ - case 2: return pi+tiny ; /* atan(+...,-INF) */ - case 3: return -pi-tiny ; /* atan(-...,-INF) */ - } - } - } - /* when y is INF */ - if(iy==0x7f800000) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny; - - /* compute y/x */ - k = (iy-ix)>>23; - if(k > 60) z=pi_o_2+(float)0.5*pi_lo; /* |y/x| > 2**60 */ - else if(hx<0&&k<-60) z=0.0; /* |y|/x < -2**60 */ - else z=__gen_ocl_internal_atan(__gen_ocl_fabs(y/x)); /* safe to do y/x */ - switch (m) { - case 0: return z ; /* atan(+,+) */ - case 1: { - uint zh; - GEN_OCL_GET_FLOAT_WORD(zh,z); - GEN_OCL_SET_FLOAT_WORD(z,zh ^ 0x80000000); - } - return z ; /* atan(-,+) */ - case 2: return pi-(z-pi_lo);/* atan(+,-) */ - default: /* case 3 */ - return (z-pi_lo)-pi;/* atan(-,-) */ - } -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_atan2pi(float y, float x) { - uint ix = as_uint(x), iy = as_uint(y), - pos_zero = 0, neg_zero = 0x80000000u, - pos_inf = 0x7f800000, neg_inf = 0xff800000u; - if(iy == pos_zero) { - if(ix == pos_zero) - return 0; - if(ix == neg_zero) - return 1; - if(x < 0) - return 1; - if(x > 0) - return 0; - } - if(iy == neg_zero) { - if(ix == pos_zero) - return -0.f; - if(ix == neg_zero) - return -1; - if(x < 0) - return -1; - if(x > 0) - return -0.f; - } - if((ix & 0x7fffffff) == 0) { - if(y < 0) - return -.5f; - if(y > 0) - return .5f; - } - if(ix == pos_inf) { - if(y > 0 && iy != pos_inf) - return 0; - if(y < 0 && iy != neg_inf) - return -0.f; - } - if(ix == neg_inf) { - if(y > 0 && iy != pos_inf) - return 1; - if(y < 0 && iy != neg_inf) - return -1; - } - if(iy == pos_inf) { - if(ix == pos_inf) - return 0.25f; - if(ix == neg_inf) - return 0.75f; - if(x >= 0 || x <= 0) - return 0.5f; - } - if(iy == neg_inf) { - if(ix == pos_inf) - return -0.25f; - if(ix == neg_inf) - return -0.75f; - if(x >= 0 || x <= 0) - return -0.5f; - } - return __gen_ocl_internal_atan2(y, x) / M_PI_F; -} -INLINE_OVERLOADABLE float __gen_ocl_internal_fabs(float x) { return __gen_ocl_fabs(x); } -INLINE_OVERLOADABLE float __gen_ocl_internal_trunc(float x) { return __gen_ocl_rndz(x); } -INLINE_OVERLOADABLE float __gen_ocl_internal_round(float x) { - float y = __gen_ocl_rndz(x); - if (__gen_ocl_fabs(x - y) >= 0.5f) - y += __gen_ocl_internal_copysign(1.f, x); - return y; -} -INLINE_OVERLOADABLE float __gen_ocl_internal_ceil(float x) { return __gen_ocl_rndu(x); } -INLINE_OVERLOADABLE float powr(float x, float y) { return __gen_ocl_pow(x,y); } -INLINE_OVERLOADABLE float __gen_ocl_internal_rint(float x) { - return __gen_ocl_rnde(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_exp(float x) { - //use native instruction when it has enough precision - if (x > -0x1.6p1 && x < 0x1.6p1) - { - return native_exp(x); - } - - float o_threshold = 8.8721679688e+01, /* 0x42b17180 */ - u_threshold = -1.0397208405e+02, /* 0xc2cff1b5 */ - twom100 = 7.8886090522e-31, /* 2**-100=0x0d800000 */ - ivln2 = 1.4426950216e+00; /* 0x3fb8aa3b =1/ln2 */ - float y,hi=0.0,lo=0.0,t; - int k=0,xsb; - unsigned hx; - float ln2HI_0 = 6.9313812256e-01; /* 0x3f317180 */ - float ln2HI_1 = -6.9313812256e-01; /* 0xbf317180 */ - float ln2LO_0 = 9.0580006145e-06; /* 0x3717f7d1 */ - float ln2LO_1 = -9.0580006145e-06; /* 0xb717f7d1 */ - float half_0 = 0.5; - float half_1 = -0.5; - - GEN_OCL_GET_FLOAT_WORD(hx,x); - xsb = (hx>>31)&1; /* sign bit of x */ - hx &= 0x7fffffff; /* high word of |x| */ - - /* filter out non-finite argument */ - if(hx >= 0x42b17218) { /* if |x|>=88.721... */ - // native_exp already handled this - return native_exp(x); - } - - /* argument reduction */ - if(hx > 0x3eb17218) { /* if |x| > 0.5 ln2 */ - if(hx < 0x3F851592) { /* and |x| < 1.5 ln2 */ - hi = x-(xsb ==1 ? ln2HI_1 : ln2HI_0); - lo= xsb == 1? ln2LO_1 : ln2LO_0; - k = 1-xsb-xsb; - } else { - float tmp = xsb == 1 ? half_1 : half_0; - k = ivln2*x+tmp; - t = k; - hi = x - t*ln2HI_0; /* t*ln2HI is exact here */ - lo = t*ln2LO_0; - } - x = hi - lo; - } - - y = native_exp(x); - if(k >= -125) { - unsigned hy; - GEN_OCL_GET_FLOAT_WORD(hy,y); - GEN_OCL_SET_FLOAT_WORD(y,hy+(k<<23)); /* add k to y's exponent */ - return y; - } else { - unsigned hy; - GEN_OCL_GET_FLOAT_WORD(hy,y); - GEN_OCL_SET_FLOAT_WORD(y,hy+((k+100)<<23)); /* add k to y's exponent */ - return y*twom100; - } -} -INLINE_OVERLOADABLE float __gen_ocl_internal_fmod (float x, float y) { - //return x-y*__gen_ocl_rndz(x/y); - float one = 1.0; - float Zero[2]; - int n,hx,hy,hz,ix,iy,sx,i; - Zero[0] = 0.0; - Zero[1] = -0.0; - GEN_OCL_GET_FLOAT_WORD(hx,x); - GEN_OCL_GET_FLOAT_WORD(hy,y); - sx = hx&0x80000000; /* sign of x */ - hx ^=sx; /* |x| */ - hy &= 0x7fffffff; /* |y| */ - /* purge off exception values */ - if(hy==0||(hx>=0x7f800000)|| /* y=0,or x not finite */ - (hy>0x7f800000)) /* or y is NaN */ - return (x*y)/(x*y); - if(hx>31]; /* |x|=|y| return x*0*/ - - /* determine ix = ilogb(x) */ - if(hx<0x00800000) { /* subnormal x */ - for (ix = -126,i=(hx<<8); i>0; i<<=1) ix -=1; - } else ix = (hx>>23)-127; - - /* determine iy = ilogb(y) */ - if(hy<0x00800000) { /* subnormal y */ - for (iy = -126,i=(hy<<8); i>=0; i<<=1) iy -=1; - } else iy = (hy>>23)-127; - - /* set up {hx,lx}, {hy,ly} and align y to x */ - if(ix >= -126) - hx = 0x00800000|(0x007fffff&hx); - else { /* subnormal x, shift x to normal */ - n = -126-ix; - hx = hx<= -126) - hy = 0x00800000|(0x007fffff&hy); - else { /* subnormal y, shift y to normal */ - n = -126-iy; - hy = hy<>31]; - hx = hz+hz; - } - } - hz=hx-hy; - if(hz>=0) {hx=hz;} - - /* convert back to floating value and restore the sign */ - if(hx==0) /* return sign(x)*0 */ - return Zero[(unsigned)sx>>31]; - while(hx<0x00800000) { /* normalize x */ - hx = hx+hx; - iy -= 1; - } - if(iy>= -126) { /* normalize output */ - hx = ((hx-0x00800000)|((iy+127)<<23)); - GEN_OCL_SET_FLOAT_WORD(x,hx|sx); - } else { /* subnormal output */ - n = -126 - iy; - hx >>= n; - GEN_OCL_SET_FLOAT_WORD(x,hx|sx); - x *= one; /* create necessary signal */ - } - return x; /* exact output */ -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_expm1(float x) { - //return __gen_ocl_pow(M_E_F, x) - 1; - float Q1 = -3.3333335072e-02, /* 0xbd088889 */ - ln2_hi = 6.9313812256e-01, /* 0x3f317180 */ - ln2_lo = 9.0580006145e-06, /* 0x3717f7d1 */ - Q2 = 1.5873016091e-03, /* 0x3ad00d01 */ - Q3 = -7.9365076090e-05, /* 0xb8a670cd */ - Q4 = 4.0082177293e-06, /* 0x36867e54 */ - Q5 = -2.0109921195e-07, /* 0xb457edbb */ - huge = 1.0e30, - tiny = 1.0e-30, - ivln2 = 1.4426950216e+00, /* 0x3fb8aa3b =1/ln2 */ - one = 1.0, - o_threshold= 8.8721679688e+01; /* 0x42b17180 */ - float y,hi,lo,c,t,e,hxs,hfx,r1; - int k,xsb; - int hx; - GEN_OCL_GET_FLOAT_WORD(hx,x); - xsb = hx&0x80000000; - /* sign bit of x */ - //if(xsb==0) - //y=x; - //else - //y= -x; /* y = |x| */ - y = __gen_ocl_internal_fabs(x); - hx &= 0x7fffffff; /* high word of |x| */ - /* filter out huge and non-finite argument */ - if(hx >= 0x4195b844) { /* if |x|>=27*ln2 */ - if(hx >= 0x42b17218) { /* if |x|>=88.721... */ - if(hx>0x7f800000) - return x+x; /* NaN */ - if(hx==0x7f800000) - return (xsb==0)? x:-1.0;/* exp(+-inf)={inf,-1} */ - if(x > o_threshold) - return huge*huge; /* overflow */ - } - if(xsb!=0) { /* x < -27*ln2, return -1.0 with inexact */ - if(x+tiny<(float)0.0) /* raise inexact */ - return tiny-one; /* return -1 */ - } - } - /* argument reduction */ - if(hx > 0x3eb17218) {/* if |x| > 0.5 ln2 */ - if(hx < 0x3F851592) {/* and |x| < 1.5 ln2 */ - if(xsb==0){ - hi = x - ln2_hi; lo = ln2_lo; k = 1; - } else { - hi = x + ln2_hi; lo = -ln2_lo; k = -1; - } - } else { - k = ivln2*x+((xsb==0)?(float)0.5:(float)-0.5); - t = k; - hi = x - t*ln2_hi;/* t*ln2_hi is exact here */ - lo = t*ln2_lo; - } - x = hi - lo; - c = (hi-x)-lo; - } else if(hx < 0x33000000) { /* when |x|<2**-25, return x */ - //t = huge+x; /* return x with inexact flags when x!=0 */ - //return x - (t-(huge+x)); - return x; - } else k = 0; - /* x is now in primary range */ - hfx = (float)0.5*x; - hxs = x*hfx; - r1 = one+hxs*(Q1+hxs*(Q2+hxs*(Q3+hxs*(Q4+hxs*Q5)))); - t = (float)3.0-r1*hfx; - e = hxs*((r1-t)/((float)6.0 - x*t)); - if(k==0) - return x - (x*e-hxs); /* c is 0 */ - else{ - e = (x*(e-c)-c); - e -= hxs; - if(k== -1)return (float)0.5*(x-e)-(float)0.5; - if(k==1){ - if(x < (float)-0.25) - return -(float)2.0*(e-(x+(float)0.5)); - else - return (one+(float)2.0*(x-e)); - } - if (k <= -2 || k>56) { /* suffice to return exp(x)-1 */ - int i; - y = one-(e-x); - GEN_OCL_GET_FLOAT_WORD(i,y); - GEN_OCL_SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */ - return y-one; - } - t = one; - if(k<23) { - int i; - GEN_OCL_SET_FLOAT_WORD(t,0x3f800000 - (0x1000000>>k)); /* t=1-2^-k */ - y = t-(e-x); - GEN_OCL_GET_FLOAT_WORD(i,y); - GEN_OCL_SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */ - } else { - int i; - GEN_OCL_SET_FLOAT_WORD(t,((0x7f-k)<<23)); /* 2^-k */ - y = x-(e+t); - y += one; - GEN_OCL_GET_FLOAT_WORD(i,y); - GEN_OCL_SET_FLOAT_WORD(y,i+(k<<23)); /* add k to y's exponent */ - } - } - return y; -} -INLINE_OVERLOADABLE float __gen_ocl_internal_acosh(float x) { - //return native_log(x + native_sqrt(x + 1) * native_sqrt(x - 1)); - float one = 1.0, - ln2 = 6.9314718246e-01;/* 0x3f317218 */ - float t; - int hx; - GEN_OCL_GET_FLOAT_WORD(hx,x); - if(hx<0x3f800000) { /* x < 1 */ - return (x-x)/(x-x); - } else if(hx >=0x4d800000) { /* x > 2**28 */ - if(hx >=0x7f800000) {/* x is inf of NaN */ - return x+x; - } else - return __gen_ocl_internal_log(x)+ln2;/* acosh(huge)=log(2x) */ - } else if (hx==0x3f800000) { - return 0.0; /* acosh(1) = 0 */ - } else if (hx > 0x40000000) { /* 2**28 > x > 2 */ - t=x*x; - return __gen_ocl_internal_log((float)2.0*x-one/(x+__gen_ocl_sqrt(t-one))); - } else { /* 1one) return x; /* return x inexact except 0 */ - } - if(ix>0x47000000) {/* |x| > 2**14 */ - if(ix>=0x7f800000) return x+x;/* x is inf or NaN */ - w = __gen_ocl_internal_log(__gen_ocl_internal_fabs(x))+ln2; - } else { - float xa = __gen_ocl_internal_fabs(x); - if (ix>0x40000000) {/* 2**14 > |x| > 2.0 */ - w = __gen_ocl_internal_log(2.0f*xa+one/(__gen_ocl_sqrt(xa*xa+one)+xa)); - } else { /* 2.0 > |x| > 2**-14 */ - float t = xa*xa; - w =log1p(xa+t/(one+__gen_ocl_sqrt(one+t))); - } - } - return __gen_ocl_internal_copysign(w, x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_sinh(float x){ - //return (1 - native_exp(-2 * x)) / (2 * native_exp(-x)); - float one = 1.0, - shuge = 1.0e37; - float t,w,h; - int ix,jx; - GEN_OCL_GET_FLOAT_WORD(jx,x); - ix = jx&0x7fffffff; - /* x is INF or NaN */ - if(ix>=0x7f800000) return x+x; - h = 0.5; - if (jx<0) h = -h; - /* |x| in [0,22], return sign(x)*0.5*(E+E/(E+1))) */ - if (ix < 0x41b00000) { /* |x|<22 */ - if (ix<0x31800000) /* |x|<2**-28 */ - if(shuge+x>one) return x;/* sinh(tiny) = tiny with inexact */ - t = __gen_ocl_internal_expm1(__gen_ocl_internal_fabs(x)); - if(ix<0x3f800000) return h*((float)2.0*t-t*t/(t+one)); - return h*(t+t/(t+one)); - } - /* |x| in [22, log(maxdouble)] return 0.5*exp(|x|) */ - if (ix < 0x42b17180) return h*__gen_ocl_internal_exp(__gen_ocl_internal_fabs(x)); - /* |x| in [log(maxdouble), overflowthresold] */ - if (ix<=0x42b2d4fc) { - w = __gen_ocl_internal_exp((float)0.5*__gen_ocl_internal_fabs(x)); - t = h*w; - return t*w; - } - /* |x| > overflowthresold, sinh(x) overflow */ - return x*shuge; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_tanh(float x) { - //float y = native_exp(-2 * x); - //return (1 - y) / (1 + y); - float one=1.0, two=2.0, tiny = 1.0e-30; - float t,z; - int jx,ix; - GEN_OCL_GET_FLOAT_WORD(jx,x); - ix = jx&0x7fffffff; - /* x is INF or NaN */ - if(ix>=0x7f800000) { - if (jx>=0) - return one/x+one; /* tanh(+-inf)=+-1 */ - else - return one/x-one; /* tanh(NaN) = NaN */ - } - - if (ix < 0x41b00000) { /* |x|<22 */ - if (ix == 0) - return x; /* x == +-0 */ - if (ix<0x24000000) /* |x|<2**-55 */ - return x*(one+x); /* tanh(small) = small */ - if (ix>=0x3f800000) { /* |x|>=1 */ - t = __gen_ocl_internal_expm1(two*__gen_ocl_internal_fabs(x)); - z = one - two/(t+two); - } else { - t = __gen_ocl_internal_expm1(-two*__gen_ocl_internal_fabs(x)); - z= -t/(t+two); - } - } else { /* |x| > 22, return +-1 */ - z = one - tiny; /* raised inexact flag */ - } - return (jx>=0)? z: -z; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_cosh(float x) { - //return (1 + native_exp(-2 * x)) / (2 * native_exp(-x)); - float halF = 0.5, - huge = 1.0e+30, - tiny = 1.0e-30, - one = 1.0; - float t,w; - int ix; - GEN_OCL_GET_FLOAT_WORD(ix,x); - ix &= 0x7fffffff; - /* |x| in [0,22] */ - if (ix < 0x41b00000) { - /* |x| in [0,0.5*ln2], return 1+expm1(|x|)^2/(2*exp(|x|)) */ - if(ix<0x3eb17218) { - t = __gen_ocl_internal_expm1(__gen_ocl_fabs(x)); - w = one+t; - if (ix<0x24000000) return w; /* cosh(tiny) = 1 */ - return one+(t*t)/(w+w); - } - /* |x| in [0.5*ln2,22], return (exp(|x|)+1/exp(|x|)/2; */ - t = __gen_ocl_internal_exp(__gen_ocl_fabs(x)); - return halF*t+halF/t; - } - /* |x| in [22, log(maxdouble)] return half*exp(|x|) */ - if (ix < 0x42b17180) return halF*__gen_ocl_internal_exp(__gen_ocl_fabs(x)); - /* |x| in [log(maxdouble), overflowthresold] */ - if (ix<=0x42b2d4fc) { - w = __gen_ocl_internal_exp(halF*__gen_ocl_fabs(x)); - t = halF*w; - return t*w; - } - /* x is INF or NaN */ - if(ix>=0x7f800000) return x*x; - /* |x| > overflowthresold, cosh(x) overflow */ - return huge*huge; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_remainder(float x, float p){ - //return x-y*__gen_ocl_rnde(x/y); - float zero = 0.0; - int hx,hp; - unsigned sx; - float p_half; - GEN_OCL_GET_FLOAT_WORD(hx,x); - GEN_OCL_GET_FLOAT_WORD(hp,p); - sx = hx&0x80000000; - hp &= 0x7fffffff; - hx &= 0x7fffffff; - /* purge off exception values */ - if(hp==0) return (x*p)/(x*p); /* p = 0 */ - if((hx>=0x7f800000)|| /* x not finite */ - ((hp>0x7f800000))) /* p is NaN */ - return (x*p)/(x*p); - if (hp<=0x7effffff) x = __gen_ocl_internal_fmod(x,p+p); /* now x < 2p */ - if ((hx-hp)==0) return zero*x; - x = __gen_ocl_fabs(x); - p = __gen_ocl_fabs(p); - if (hp<0x01000000) { - if(x+x>p) { - x-=p; - if(x+x>=p) x -= p; - } - } else { - p_half = (float)0.5*p; - if(x>p_half) { - x-=p; - if(x>=p_half) x -= p; - } - } - GEN_OCL_GET_FLOAT_WORD(hx,x); - GEN_OCL_SET_FLOAT_WORD(x,hx^sx); - return x; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_ldexp(float x, int n) { - if(!__ocl_finitef(x)||x==(float)0.0) return x; - x = __gen_ocl_scalbnf(x,n); - return x; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_atanh(float x) { - //return 0.5f * native_sqrt((1 + x) / (1 - x)); - float xa = __gen_ocl_fabs (x); - float t; - if (isless (xa, 0.5f)){ - if (xa < 0x1.0p-28f) return x; - t = xa + xa; - t = 0.5f * log1p (t + t * xa / (1.0f - xa)); - } else if (isless (xa, 1.0f)){ - t = 0.5f * log1p ((xa + xa) / (1.0f - xa)); - } else{ - if (isgreater (xa, 1.0f)) return (x - x) / (x - x); - return x / 0.0f; - } - return __gen_ocl_internal_copysign(t, x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_exp10(float x){ - float px, qx,ans; - short n; - int i; - float*p; - float MAXL10 = 38.230809449325611792; - float LOG210 = 3.32192809488736234787e0; - float LG102A = 3.00781250000000000000E-1; - float LG102B = 2.48745663981195213739E-4; - float P[6]; - P[0] = 2.063216740311022E-001; - P[1] = 5.420251702225484E-001; - P[2] = 1.171292686296281E+000; - P[3] = 2.034649854009453E+000; - P[4] = 2.650948748208892E+000; - P[5] = 2.302585167056758E+000; - if( isinf(x)) - return INFINITY; - - if( x < -MAXL10 )return 0.0; - /* The following is necessary because range reduction blows up: */ - if( x == 0 )return 1.0; - - /* Express 10**x = 10**g 2**n - * = 10**g 10**( n log10(2) ) - * = 10**( g + n log10(2) ) - */ - px = x * LOG210; - qx = __gen_ocl_internal_floor( px + 0.5 ); - n = qx; - x -= qx * LG102A; - x -= qx * LG102B; - - /* rational approximation for exponential - * of the fractional part: - * 10**x - 1 = 2x P(x**2)/( Q(x**2) - P(x**2) ) - */ - p = P; - ans = *p++; - i = 5; - do{ - ans = ans * x + *p++; - } - while( --i ); - px = 1.0 + x * ans; - - /* multiply by power of 2 */ - x = __gen_ocl_internal_ldexp( px, n ); - return x; -} - -// TODO use llvm intrinsics definitions -#define cospi __gen_ocl_internal_cospi -#define cosh __gen_ocl_internal_cosh -#define acos __gen_ocl_internal_acos -#define acospi __gen_ocl_internal_acospi -#define acosh __gen_ocl_internal_acosh -#define sinpi __gen_ocl_internal_sinpi -#define sinh __gen_ocl_internal_sinh -#define asin __gen_ocl_internal_asin -#define asinpi __gen_ocl_internal_asinpi -#define asinh __gen_ocl_internal_asinh -#define tanpi __gen_ocl_internal_tanpi -#define tanh __gen_ocl_internal_tanh -#define atan __gen_ocl_internal_atan -#define atan2 __gen_ocl_internal_atan2 -#define atan2pi __gen_ocl_internal_atan2pi -#define atanpi __gen_ocl_internal_atanpi -#define atanh __gen_ocl_internal_atanh -#define pow powr -#define cbrt __gen_ocl_internal_cbrt -#define rint __gen_ocl_internal_rint -#define copysign __gen_ocl_internal_copysign -#define erf __gen_ocl_internal_erf -#define erfc __gen_ocl_internal_erfc -#define fmod __gen_ocl_internal_fmod -#define remainder __gen_ocl_internal_remainder -#define ldexp __gen_ocl_internal_ldexp -PURE CONST float __gen_ocl_mad(float a, float b, float c); -PURE CONST float __gen_ocl_fmax(float a, float b); -PURE CONST float __gen_ocl_fmin(float a, float b); -INLINE_OVERLOADABLE float mad(float a, float b, float c) { - return __gen_ocl_mad(a, b, c); -} - -#define DEF(TYPE1, TYPE2) \ - INLINE_OVERLOADABLE TYPE1 select(TYPE1 src0, TYPE1 src1, TYPE2 cond) { \ - return cond ? src1 : src0; \ - } -DEF(char, char) -DEF(char, uchar) -DEF(uchar, char) -DEF(uchar, uchar) -DEF(short, short) -DEF(short, ushort) -DEF(ushort, short) -DEF(ushort, ushort) -DEF(int, int) -DEF(int, uint) -DEF(uint, int) -DEF(uint, uint) -DEF(long, long) -DEF(long, ulong) -DEF(ulong, long) -DEF(ulong, ulong) -DEF(float, int) -DEF(float, uint) -#undef DEF - -///////////////////////////////////////////////////////////////////////////// -// Common Functions (see 6.11.4 of OCL 1.1 spec) -///////////////////////////////////////////////////////////////////////////// -INLINE_OVERLOADABLE float step(float edge, float x) { - return x < edge ? 0.0 : 1.0; -} - -#define DECL_MIN_MAX_CLAMP(TYPE) \ -INLINE_OVERLOADABLE TYPE max(TYPE a, TYPE b) { \ - return a > b ? a : b; \ -} \ -INLINE_OVERLOADABLE TYPE min(TYPE a, TYPE b) { \ - return a < b ? a : b; \ -} \ -INLINE_OVERLOADABLE TYPE clamp(TYPE v, TYPE l, TYPE u) { \ - return max(min(v, u), l); \ -} -DECL_MIN_MAX_CLAMP(int) -DECL_MIN_MAX_CLAMP(short) -DECL_MIN_MAX_CLAMP(char) -DECL_MIN_MAX_CLAMP(uint) -DECL_MIN_MAX_CLAMP(unsigned short) -DECL_MIN_MAX_CLAMP(unsigned char) -DECL_MIN_MAX_CLAMP(long) -DECL_MIN_MAX_CLAMP(ulong) -#undef DECL_MIN_MAX_CLAMP -INLINE_OVERLOADABLE float max(float a, float b) { - return __gen_ocl_fmax(a, b); -} -INLINE_OVERLOADABLE float min(float a, float b) { - return __gen_ocl_fmin(a, b); -} -INLINE_OVERLOADABLE float clamp(float v, float l, float u) { - return max(min(v, u), l); -} - -#define BODY \ - if (isnan(x) || isinf(x)) { \ - *exp = 0; \ - return x; \ - } \ - uint u = as_uint(x); \ - uint a = u & 0x7FFFFFFFu; \ - if (a == 0) { \ - *exp = 0; \ - return x; \ - } \ - if (a >= 0x800000) { \ - *exp = (a >> 23) - 126; \ - return as_float((u & (0x807FFFFFu)) | 0x3F000000); \ - } \ - int e = -126; \ - while (a < 0x400000) { \ - e --; \ - a <<= 1; \ - } \ - a <<= 1; \ - *exp = e; \ - return as_float((a & (0x807FFFFFu)) | (u & 0x80000000u) | 0x3F000000); -INLINE_OVERLOADABLE float frexp(float x, global int *exp) { BODY; } -INLINE_OVERLOADABLE float frexp(float x, local int *exp) { BODY; } -INLINE_OVERLOADABLE float frexp(float x, private int *exp) { BODY; } -#undef BODY - -INLINE_OVERLOADABLE float nextafter(float x, float y) { - int hx, hy, ix, iy; - hx = as_int(x); - hy = as_int(y); - ix = hx & 0x7fffffff; - iy = hy & 0x7fffffff; - if(ix>0x7f800000 || iy>0x7f800000) - return x+y; - if(hx == hy) - return y; - if(ix == 0) { - if(iy == 0) - return y; - else - return as_float((hy&0x80000000) | 1); - } - if(hx >= 0) { - if(hx > hy) { - hx -= 1; - } else { - hx += 1; - } - } else { - if(hy >= 0 || hx > hy){ - hx -= 1; - } else { - hx += 1; - } - } - return as_float(hx); -} - -#define BODY \ - uint hx = as_uint(x), ix = hx & 0x7FFFFFFF; \ - if (ix > 0x7F800000) { \ - *i = nan(0u); \ - return nan(0u); \ - } \ - if (ix == 0x7F800000) { \ - *i = x; \ - return as_float(hx & 0x80000000u); \ - } \ - *i = __gen_ocl_rndz(x); \ - return x - *i; -INLINE_OVERLOADABLE float modf(float x, global float *i) { BODY; } -INLINE_OVERLOADABLE float modf(float x, local float *i) { BODY; } -INLINE_OVERLOADABLE float modf(float x, private float *i) { BODY; } -#undef BODY -INLINE_OVERLOADABLE float degrees(float radians) { return (180 / M_PI_F) * radians; } -INLINE_OVERLOADABLE float radians(float degrees) { return (M_PI_F / 180) * degrees; } - -INLINE_OVERLOADABLE float smoothstep(float e0, float e1, float x) { - x = clamp((x - e0) / (e1 - e0), 0.f, 1.f); - return x * x * (3 - 2 * x); -} - -INLINE_OVERLOADABLE float sign(float x) { - if(x > 0) - return 1; - if(x < 0) - return -1; - if(x == -0.f) - return -0.f; - return 0.f; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fmax(float a, float b) { return max(a,b); } -INLINE_OVERLOADABLE float __gen_ocl_internal_fmin(float a, float b) { return min(a,b); } -INLINE_OVERLOADABLE float __gen_ocl_internal_maxmag(float x, float y) { - float a = __gen_ocl_fabs(x), b = __gen_ocl_fabs(y); - return a > b ? x : b > a ? y : max(x, y); -} -INLINE_OVERLOADABLE float __gen_ocl_internal_minmag(float x, float y) { - float a = __gen_ocl_fabs(x), b = __gen_ocl_fabs(y); - return a < b ? x : b < a ? y : min(x, y); -} -INLINE_OVERLOADABLE float mix(float x, float y, float a) { return x + (y-x)*a;} -INLINE_OVERLOADABLE float __gen_ocl_internal_fdim(float x, float y) { - if(isnan(x)) - return x; - if(isnan(y)) - return y; - return x > y ? (x - y) : +0.f; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_pow(float x, float y) { - float z,ax,z_h,z_l,p_h,p_l; - float y1,t1,t2,r,s,sn,t,u,v,w; - int i,j,k,yisint,n; - int hx,hy,ix,iy,is; - float bp[2],dp_h[2],dp_l[2], - zero = 0.0, - one = 1.0, - two = 2.0, - two24 = 16777216.0, /* 0x4b800000 */ - huge = 1.0e30, - tiny = 1.0e-30, - /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */ - L1 = 6.0000002384e-01, /* 0x3f19999a */ - L2 = 4.2857143283e-01, /* 0x3edb6db7 */ - L3 = 3.3333334327e-01, /* 0x3eaaaaab */ - L4 = 2.7272811532e-01, /* 0x3e8ba305 */ - L5 = 2.3066075146e-01, /* 0x3e6c3255 */ - L6 = 2.0697501302e-01, /* 0x3e53f142 */ - P1 = 1.6666667163e-01, /* 0x3e2aaaab */ - P2 = -2.7777778450e-03, /* 0xbb360b61 */ - P3 = 6.6137559770e-05, /* 0x388ab355 */ - P4 = -1.6533901999e-06, /* 0xb5ddea0e */ - P5 = 4.1381369442e-08, /* 0x3331bb4c */ - lg2 = 6.9314718246e-01, /* 0x3f317218 */ - lg2_h = 6.93145752e-01, /* 0x3f317200 */ - lg2_l = 1.42860654e-06, /* 0x35bfbe8c */ - ovt = 4.2995665694e-08, /* -(128-log2(ovfl+.5ulp)) */ - cp = 9.6179670095e-01, /* 0x3f76384f =2/(3ln2) */ - cp_h = 9.6179199219e-01, /* 0x3f763800 =head of cp */ - cp_l = 4.7017383622e-06, /* 0x369dc3a0 =tail of cp_h */ - ivln2 = 1.4426950216e+00, /* 0x3fb8aa3b =1/ln2 */ - ivln2_h = 1.4426879883e+00, /* 0x3fb8aa00 =16b 1/ln2*/ - ivln2_l = 7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/ - bp[0] = 1.0,bp[1] = 1.5, - dp_h[0] = 0.0,dp_h[1] = 5.84960938e-01, - dp_l[0] = 0.0,dp_l[1] = 1.56322085e-06; - GEN_OCL_GET_FLOAT_WORD(hx,x); - GEN_OCL_GET_FLOAT_WORD(hy,y); - ix = hx&0x7fffffff; iy = hy&0x7fffffff; - if (ix < 0x00800000) { /* x < 2**-126 */ - ix = 0;/* Gen does not support subnormal number now */ - } - if (iy < 0x00800000) { /* y < 2**-126 */ - iy = 0;/* Gen does not support subnormal number now */ - } - /* y==zero: x**0 = 1 */ - if(iy==0) return one; - if(hx==0x3f800000) return one; - /* +-NaN return x+y */ - if(ix > 0x7f800000 || iy > 0x7f800000) - return (x+0.0f)+y+(0.0f); - /* determine if y is an odd int when x < 0 - * yisint = 0 ... y is not an integer - * yisint = 1 ... y is an odd int - * yisint = 2 ... y is an even int - */ - yisint = 0; - if(hx<0) { - if(iy>=0x4b800000) yisint = 2; /* even integer y */ - else if(iy>=0x3f800000) { - k = (iy>>23)-0x7f; /* exponent */ - j = iy>>(23-k); - if((j<<(23-k))==iy) yisint = 2-(j&1); - } - } - /* special value of y */ - if (iy==0x7f800000) { /* y is +-inf */ - if (ix==0x3f800000) - //return y - y; /* inf**+-1 is NaN */ - return one; - else if (ix > 0x3f800000)/* (|x|>1)**+-inf = inf,0 */ - return (hy>=0)? y: zero; - else /* (|x|<1)**-,+inf = inf,0 */ - return (hy<0)?-y: zero; - } - if(iy==0x3f800000) { /* y is +-1 */ - if(hy<0) return one/x; else return x; - } - if(hy==0x40000000) return x*x; /* y is 2 */ - if(hy==0x3f000000) { /* y is 0.5 */ - if(hx>=0)return __gen_ocl_sqrt(x); - } - - ax = __gen_ocl_fabs(x); - /* special value of x */ - if(ix==0x7f800000||ix==0||ix==0x3f800000){ - z = ax; /*x is +-0,+-inf,+-1*/ - if(hy<0) z = one/z; /* z = (1/|x|) */ - if(hx<0) { - if(((ix-0x3f800000)|yisint)==0) { - z = (z-z)/(z-z); /* (-1)**non-int is NaN */ - } else if(yisint==1) - z = -z; /* (x<0)**odd = -(|x|**odd) */ - } - return z; - } - n = ((uint)hx>>31)-1; - - /* (x<0)**(non-int) is NaN */ - if((n|yisint)==0) return (x-x)/(x-x); - - sn = one; /* s (sign of result -ve**odd) = -1 else = 1 */ - if((n|(yisint-1))==0) sn = -one;/* (-ve)**(odd int) */ - - /* |y| is huge */ - if(iy>0x4d000000) { /* if |y| > 2**27 */ - /* over/underflow if x is not close to one */ - if(ix<0x3f7ffff8) return (hy<0)? sn*huge*huge:sn*tiny*tiny; - if(ix>0x3f800007) return (hy>0)? sn*huge*huge:sn*tiny*tiny; - /* now |1-x| is tiny <= 2**-20, suffice to compute - log(x) by x-x^2/2+x^3/3-x^4/4 */ - t = ax-1; /* t has 20 trailing zeros */ - w = (t*t)*((float)0.5-t*(0.333333333333f-t*0.25f)); - u = ivln2_h*t; /* ivln2_h has 16 sig. bits */ - v = t*ivln2_l-w*ivln2; - t1 = u+v; - GEN_OCL_GET_FLOAT_WORD(is,t1); - GEN_OCL_SET_FLOAT_WORD(t1,is&0xfffff000); - t2 = v-(t1-u); - } else { - float s2,s_h,s_l,t_h,t_l; - n = 0; - /* take care subnormal number */ - //if(ix<0x00800000) - //{ax *= two24; n -= 24; GEN_OCL_GET_FLOAT_WORD(ix,ax); } - n += ((ix)>>23)-0x7f; - j = ix&0x007fffff; - /* determine interval */ - ix = j|0x3f800000; /* normalize ix */ - if(j<=0x1cc471) k=0; /* |x|>1)&0xfffff000)|0x20000000; - GEN_OCL_SET_FLOAT_WORD(t_h,is+0x00400000+(k<<21)); - t_l = ax - (t_h-bp[k]); - s_l = v*((u-s_h*t_h)-s_h*t_l); - /* compute log(ax) */ - s2 = s*s; - r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6))))); - r += s_l*(s_h+s); - s2 = s_h*s_h; - t_h = 3.0f+s2+r; - GEN_OCL_GET_FLOAT_WORD(is,t_h); - GEN_OCL_SET_FLOAT_WORD(t_h,is&0xfffff000); - t_l = r-((t_h-3.0f)-s2); - /* u+v = s*(1+...) */ - u = s_h*t_h; - v = s_l*t_h+t_l*s; - /* 2/(3log2)*(s+...) */ - p_h = u+v; - GEN_OCL_GET_FLOAT_WORD(is,p_h); - GEN_OCL_SET_FLOAT_WORD(p_h,is&0xfffff000); - p_l = v-(p_h-u); - z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */ - z_l = cp_l*p_h+p_l*cp+dp_l[k]; - /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */ - t = (float)n; - t1 = (((z_h+z_l)+dp_h[k])+t); - GEN_OCL_GET_FLOAT_WORD(is,t1); - GEN_OCL_SET_FLOAT_WORD(t1,is&0xfffff000); - t2 = z_l-(((t1-t)-dp_h[k])-z_h); - } - - /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */ - GEN_OCL_GET_FLOAT_WORD(is,y); - GEN_OCL_SET_FLOAT_WORD(y1,is&0xfffff000); - p_l = (y-y1)*t1+y*t2; - p_h = y1*t1; - z = p_l+p_h; - GEN_OCL_GET_FLOAT_WORD(j,z); - if (j>0x43000000) /* if z > 128 */ - return sn*huge*huge; /* overflow */ - else if (j==0x43000000) { /* if z == 128 */ - if(p_l+ovt>z-p_h) return sn*huge*huge; /* overflow */ - } - else if ((j&0x7fffffff)>0x43160000) /* z <= -150 */ - return sn*tiny*tiny; /* underflow */ - else if (j==0xc3160000){ /* z == -150 */ - if(p_l<=z-p_h) return sn*tiny*tiny; /* underflow */ - } - - /* - * compute 2**(p_h+p_l) - */ - i = j&0x7fffffff; - k = (i>>23)-0x7f; - n = 0; - if(i>0x3f000000) { /* if |z| > 0.5, set n = [z+0.5] */ - n = j+(0x00800000>>(k+1)); - k = ((n&0x7fffffff)>>23)-0x7f; /* new k for n */ - GEN_OCL_SET_FLOAT_WORD(t,n&~(0x007fffff>>k)); - n = ((n&0x007fffff)|0x00800000)>>(23-k); - if(j<0) n = -n; - p_h -= t; - } - t = p_l+p_h; - GEN_OCL_GET_FLOAT_WORD(is,t); - GEN_OCL_SET_FLOAT_WORD(t,is&0xffff8000); - u = t*lg2_h; - v = (p_l-(t-p_h))*lg2+t*lg2_l; - z = u+v; - w = v-(z-u); - t = z*z; - t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5)))); - r = (z*t1)/(t1-two)-(w+z*w); - z = one-(r-z); - GEN_OCL_GET_FLOAT_WORD(j,z); - j += (n<<23); - if((j>>23)<=0) z = __gen_ocl_scalbnf(z,n); /* subnormal output */ - else GEN_OCL_SET_FLOAT_WORD(z,j); - return sn*z; -} - - -INLINE_OVERLOADABLE float hypot(float x, float y) { - //return __gen_ocl_sqrt(x*x + y*y); - float a,b,an,bn,cn; - int e; - if (isfinite (x) && isfinite (y)){ /* Determine absolute values. */ - x = __gen_ocl_fabs (x); - y = __gen_ocl_fabs (y); - /* Find the bigger and the smaller one. */ - a = max(x,y); - b = min(x,y); - /* Now 0 <= b <= a. */ - /* Write a = an * 2^e, b = bn * 2^e with 0 <= bn <= an < 1. */ - an = frexp (a, &e); - bn = ldexp (b, - e); - /* Through the normalization, no unneeded overflow or underflow will occur here. */ - cn = __gen_ocl_sqrt (an * an + bn * bn); - return ldexp (cn, e); - }else{ - if (isinf (x) || isinf (y)) /* x or y is infinite. Return +Infinity. */ - return INFINITY; - else /* x or y is NaN. Return NaN. */ - return x + y; - } -} - -#define BODY \ - if (isnan(x)) { \ - *p = x; \ - return x; \ - } \ - *p = __gen_ocl_internal_floor(x); \ - if (isinf(x)) { \ - return x > 0 ? +0. : -0.; \ - } \ - return __gen_ocl_internal_fmin(x - *p, 0x1.FFFFFep-1F); -INLINE_OVERLOADABLE float fract(float x, global float *p) { BODY; } -INLINE_OVERLOADABLE float fract(float x, local float *p) { BODY; } -INLINE_OVERLOADABLE float fract(float x, private float *p) { BODY; } -#undef BODY - -#define BODY \ - float Zero[2]; \ - int n,hx,hy,hz,ix,iy,sx,i,sy; \ - uint q,sxy; \ - Zero[0] = 0.0;Zero[1] = -0.0; \ - GEN_OCL_GET_FLOAT_WORD(hx,x);GEN_OCL_GET_FLOAT_WORD(hy,y); \ - sxy = (hx ^ hy) & 0x80000000;sx = hx&0x80000000;sy = hy&0x80000000; \ - hx ^=sx; hy &= 0x7fffffff; \ - if (hx < 0x00800000)hx = 0;if (hy < 0x00800000)hy = 0; \ - if(hy==0||hx>=0x7f800000||hy>0x7f800000){ \ - *quo = 0;return NAN; \ - } \ - if( hy == 0x7F800000 || hx == 0 ) { \ - *quo = 0;return x; \ - } \ - if( hx == hy ) { \ - *quo = (x == y) ? 1 : -1; \ - return sx ? -0.0 : 0.0; \ - } \ - if(hx>31]; \ - } \ - ix = (hx>>23)-127; \ - iy = (hy>>23)-127; \ - hx = 0x00800000|(0x007fffff&hx); \ - hy = 0x00800000|(0x007fffff&hy); \ - n = ix - iy; \ - q = 0; \ - while(n--) { \ - hz=hx-hy; \ - if(hz<0) hx = hx << 1; \ - else {hx = hz << 1; q++;} \ - q <<= 1; \ - } \ - hz=hx-hy; \ - if(hz>=0) {hx=hz;q++;} \ - if(hx==0) { \ - q &= 0x0000007f; \ - *quo = (sxy ? -q : q); \ - return Zero[(uint)sx>>31]; \ - } \ - while(hx<0x00800000) { \ - hx <<= 1;iy -= 1; \ - } \ - if(iy>= -126) { \ - hx = ((hx-0x00800000)|((iy+127)<<23)); \ - } else {\ - n = -126 - iy; \ - hx >>= n; \ - } \ -fixup: \ - GEN_OCL_SET_FLOAT_WORD(x,hx); \ - if(hx<0x00800000){ \ - GEN_OCL_GET_FLOAT_WORD(hy,y); \ - hy &= 0x7fffffff; \ - if(hx+hx > hy ||(hx+hx==hy && (q & 1)))q++; \ - x = 0; \ - }else{ \ - y = __gen_ocl_fabs(y); \ - if (y < 0x1p-125f) { \ - if (x+x>y || (x+x==y && (q & 1))) { \ - q++;x-=y; \ - } \ - }else if (x>0.5f*y || (x==0.5f*y && (q & 1))) { \ - q++;x-=y; \ - } \ - GEN_OCL_GET_FLOAT_WORD(hx,x);GEN_OCL_SET_FLOAT_WORD(x,hx^sx); \ - } \ - int sign = sx==sy?0:1; \ - q &= 0x0000007f; \ - *quo = (sign ? -q : q); \ - return x; - -INLINE_OVERLOADABLE float remquo(float x, float y, global int *quo) { - BODY; -} -INLINE_OVERLOADABLE float remquo(float x, float y, local int *quo) { BODY; } -INLINE_OVERLOADABLE float remquo(float x, float y, private int *quo) { BODY; } -#undef BODY -INLINE_OVERLOADABLE float native_divide(float x, float y) { return x/y; } -INLINE_OVERLOADABLE float pown(float x, int n) { - if (x == 0 && n == 0) - return 1; - return powr(x, n); -} - -INLINE_OVERLOADABLE float internal_rootn(float x, int n, const bool isFastpath) -{ - float ax,re; - int sign = 0; - if( n == 0 )return NAN; - //rootn ( x, n ) returns a NaN for x < 0 and n is even. - if( x < 0 && 0 == (n&1) ) - return NAN; - if( x == 0.0 ){ - switch( n & 0x80000001 ){ - //rootn ( +-0, n ) is +0 for even n > 0. - case 0: - return 0.0f; - //rootn ( +-0, n ) is +-0 for odd n > 0. - case 1: - return x; - //rootn ( +-0, n ) is +inf for even n < 0. - case 0x80000000: - return INFINITY; - - //rootn ( +-0, n ) is +-inf for odd n < 0. - case 0x80000001: - return __gen_ocl_internal_copysign(INFINITY, x); - } - } - ax = __gen_ocl_fabs(x); - if(x <0.0f && (n&1)) - sign = 1; - if (isFastpath) - re = __gen_ocl_pow(ax,1.f/n); - else - re = __gen_ocl_internal_pow(ax,1.f/n); - if(sign) - re = -re; - return re; -} - -INLINE_OVERLOADABLE float rootn(float x, int n) { - return internal_rootn(x, n, 0); -} - -///////////////////////////////////////////////////////////////////////////// -// Geometric functions (see 6.11.5 of OCL 1.1 spec) -///////////////////////////////////////////////////////////////////////////// -INLINE_OVERLOADABLE float dot(float p0, float p1) { - return p0 * p1; -} -INLINE_OVERLOADABLE float dot(float2 p0, float2 p1) { - return p0.x * p1.x + p0.y * p1.y; -} -INLINE_OVERLOADABLE float dot(float3 p0, float3 p1) { - return p0.x * p1.x + p0.y * p1.y + p0.z * p1.z; -} -INLINE_OVERLOADABLE float dot(float4 p0, float4 p1) { - return p0.x * p1.x + p0.y * p1.y + p0.z * p1.z + p0.w * p1.w; -} -INLINE_OVERLOADABLE float length(float x) { return __gen_ocl_fabs(x); } -#define BODY \ - if(m == 0) \ - return 0; \ - if(isinf(m)) \ - return INFINITY; \ - if(m < 1) \ - m = 1; \ - x /= m; \ - return m * sqrt(dot(x,x)); -INLINE_OVERLOADABLE float length(float2 x) { - float m = max(__gen_ocl_fabs(x.s0), __gen_ocl_fabs(x.s1)); - BODY; -} -INLINE_OVERLOADABLE float length(float3 x) { - float m = max(__gen_ocl_fabs(x.s0), max(__gen_ocl_fabs(x.s1), __gen_ocl_fabs(x.s2))); - BODY; -} -INLINE_OVERLOADABLE float length(float4 x) { - float m = max(__gen_ocl_fabs(x.s0), max(__gen_ocl_fabs(x.s1), max(__gen_ocl_fabs(x.s2), __gen_ocl_fabs(x.s3)))); - BODY; -} -#undef BODY -INLINE_OVERLOADABLE float distance(float x, float y) { return length(x-y); } -INLINE_OVERLOADABLE float distance(float2 x, float2 y) { return length(x-y); } -INLINE_OVERLOADABLE float distance(float3 x, float3 y) { return length(x-y); } -INLINE_OVERLOADABLE float distance(float4 x, float4 y) { return length(x-y); } -INLINE_OVERLOADABLE float normalize(float x) { - union { float f; unsigned u; } u; - u.f = x; - if(u.u == 0) - return 0.f; - if(isnan(x)) - return NAN; - return u.u < 0x7fffffff ? 1.f : -1.f; -} -INLINE_OVERLOADABLE float2 normalize(float2 x) { - float m = length(x); - if(m == 0) - return 0; - return x / m; -} -INLINE_OVERLOADABLE float3 normalize(float3 x) { - float m = length(x); - if(m == 0) - return 0; - return x / m; -} -INLINE_OVERLOADABLE float4 normalize(float4 x) { - float m = length(x); - if(m == 0) - return 0; - return x / m; -} - -INLINE_OVERLOADABLE float fast_length(float x) { return __gen_ocl_fabs(x); } -INLINE_OVERLOADABLE float fast_length(float2 x) { return sqrt(dot(x,x)); } -INLINE_OVERLOADABLE float fast_length(float3 x) { return sqrt(dot(x,x)); } -INLINE_OVERLOADABLE float fast_length(float4 x) { return sqrt(dot(x,x)); } -INLINE_OVERLOADABLE float fast_distance(float x, float y) { return length(x-y); } -INLINE_OVERLOADABLE float fast_distance(float2 x, float2 y) { return length(x-y); } -INLINE_OVERLOADABLE float fast_distance(float3 x, float3 y) { return length(x-y); } -INLINE_OVERLOADABLE float fast_distance(float4 x, float4 y) { return length(x-y); } -INLINE_OVERLOADABLE float fast_normalize(float x) { return x > 0 ? 1.f : (x < 0 ? -1.f : 0.f); } -INLINE_OVERLOADABLE float2 fast_normalize(float2 x) { return x * rsqrt(dot(x, x)); } -INLINE_OVERLOADABLE float3 fast_normalize(float3 x) { return x * rsqrt(dot(x, x)); } -INLINE_OVERLOADABLE float4 fast_normalize(float4 x) { return x * rsqrt(dot(x, x)); } - -INLINE_OVERLOADABLE float3 cross(float3 v0, float3 v1) { - return v0.yzx*v1.zxy-v0.zxy*v1.yzx; -} -INLINE_OVERLOADABLE float4 cross(float4 v0, float4 v1) { - return (float4)(v0.yzx*v1.zxy-v0.zxy*v1.yzx, 0.f); -} - -///////////////////////////////////////////////////////////////////////////// -// Vector loads and stores -///////////////////////////////////////////////////////////////////////////// - -// These loads and stores will use untyped reads and writes, so we can just -// cast to vector loads / stores. Not C99 compliant BTW due to aliasing issue. -// Well we do not care, we do not activate TBAA in the compiler -#define DECL_UNTYPED_RW_SPACE_N(TYPE, DIM, SPACE) \ -INLINE_OVERLOADABLE TYPE##DIM vload##DIM(size_t offset, const SPACE TYPE *p) { \ - return *(SPACE TYPE##DIM *) (p + DIM * offset); \ -} \ -INLINE_OVERLOADABLE void vstore##DIM(TYPE##DIM v, size_t offset, SPACE TYPE *p) { \ - *(SPACE TYPE##DIM *) (p + DIM * offset) = v; \ -} - -#define DECL_UNTYPED_RD_SPACE_N(TYPE, DIM, SPACE) \ -INLINE_OVERLOADABLE TYPE##DIM vload##DIM(size_t offset, const SPACE TYPE *p) { \ - return *(SPACE TYPE##DIM *) (p + DIM * offset); \ -} - -#define DECL_UNTYPED_V3_SPACE(TYPE, SPACE) \ -INLINE_OVERLOADABLE void vstore3(TYPE##3 v, size_t offset, SPACE TYPE *p) {\ - *(p + 3 * offset) = v.s0; \ - *(p + 3 * offset + 1) = v.s1; \ - *(p + 3 * offset + 2) = v.s2; \ -} \ -INLINE_OVERLOADABLE TYPE##3 vload3(size_t offset, const SPACE TYPE *p) { \ - return (TYPE##3)(*(p + 3 * offset), *(p+ 3 * offset + 1), *(p + 3 * offset + 2));\ -} - -#define DECL_UNTYPED_RDV3_SPACE(TYPE, SPACE) \ -INLINE_OVERLOADABLE TYPE##3 vload3(size_t offset, const SPACE TYPE *p) { \ - return (TYPE##3)(*(p + 3 * offset), *(p+ 3 * offset + 1), *(p + 3 * offset + 2));\ -} - -#define DECL_UNTYPED_RW_ALL_SPACE(TYPE, SPACE) \ - DECL_UNTYPED_RW_SPACE_N(TYPE, 2, SPACE) \ - DECL_UNTYPED_V3_SPACE(TYPE, SPACE) \ - DECL_UNTYPED_RW_SPACE_N(TYPE, 4, SPACE) \ - DECL_UNTYPED_RW_SPACE_N(TYPE, 8, SPACE) \ - DECL_UNTYPED_RW_SPACE_N(TYPE, 16, SPACE) - -#define DECL_UNTYPED_RD_ALL_SPACE(TYPE, SPACE) \ - DECL_UNTYPED_RD_SPACE_N(TYPE, 2, SPACE) \ - DECL_UNTYPED_RDV3_SPACE(TYPE, SPACE) \ - DECL_UNTYPED_RD_SPACE_N(TYPE, 4, SPACE) \ - DECL_UNTYPED_RD_SPACE_N(TYPE, 8, SPACE) \ - DECL_UNTYPED_RD_SPACE_N(TYPE, 16, SPACE) - -#define DECL_UNTYPED_RW_ALL(TYPE) \ - DECL_UNTYPED_RW_ALL_SPACE(TYPE, __global) \ - DECL_UNTYPED_RW_ALL_SPACE(TYPE, __local) \ - DECL_UNTYPED_RD_ALL_SPACE(TYPE, __constant) \ - DECL_UNTYPED_RW_ALL_SPACE(TYPE, __private) - -#define DECL_BYTE_RD_SPACE(TYPE, SPACE) \ -INLINE_OVERLOADABLE TYPE##2 vload2(size_t offset, const SPACE TYPE *p) { \ - return (TYPE##2)(*(p+2*offset), *(p+2*offset+1)); \ -} \ -INLINE_OVERLOADABLE TYPE##3 vload3(size_t offset, const SPACE TYPE *p) { \ - return (TYPE##3)(*(p+3*offset), *(p+3*offset+1), *(p+3*offset+2)); \ -} \ -INLINE_OVERLOADABLE TYPE##4 vload4(size_t offset, const SPACE TYPE *p) { \ - return (TYPE##4)(vload2(2*offset, p), vload2(2*offset, p+2)); \ -} \ -INLINE_OVERLOADABLE TYPE##8 vload8(size_t offset, const SPACE TYPE *p) { \ - return (TYPE##8)(vload4(2*offset, p), vload4(2*offset, p+4)); \ -} \ -INLINE_OVERLOADABLE TYPE##16 vload16(size_t offset, const SPACE TYPE *p) { \ - return (TYPE##16)(vload8(2*offset, p), vload8(2*offset, p+8)); \ -} - -#define DECL_BYTE_WR_SPACE(TYPE, SPACE) \ -INLINE_OVERLOADABLE void vstore2(TYPE##2 v, size_t offset, SPACE TYPE *p) {\ - *(p + 2 * offset) = v.s0; \ - *(p + 2 * offset + 1) = v.s1; \ -} \ -INLINE_OVERLOADABLE void vstore3(TYPE##3 v, size_t offset, SPACE TYPE *p) {\ - *(p + 3 * offset) = v.s0; \ - *(p + 3 * offset + 1) = v.s1; \ - *(p + 3 * offset + 2) = v.s2; \ -} \ -INLINE_OVERLOADABLE void vstore4(TYPE##4 v, size_t offset, SPACE TYPE *p) { \ - vstore2(v.lo, 2*offset, p); \ - vstore2(v.hi, 2*offset, p+2); \ -} \ -INLINE_OVERLOADABLE void vstore8(TYPE##8 v, size_t offset, SPACE TYPE *p) { \ - vstore4(v.lo, 2*offset, p); \ - vstore4(v.hi, 2*offset, p+4); \ -} \ -INLINE_OVERLOADABLE void vstore16(TYPE##16 v, size_t offset, SPACE TYPE *p) { \ - vstore8(v.lo, 2*offset, p); \ - vstore8(v.hi, 2*offset, p+8); \ -} - -#define DECL_BYTE_RW_ALL(TYPE) \ - DECL_BYTE_RD_SPACE(TYPE, __global) \ - DECL_BYTE_RD_SPACE(TYPE, __local) \ - DECL_BYTE_RD_SPACE(TYPE, __private) \ - DECL_BYTE_RD_SPACE(TYPE, __constant) \ - DECL_BYTE_WR_SPACE(TYPE, __global) \ - DECL_BYTE_WR_SPACE(TYPE, __local) \ - DECL_BYTE_WR_SPACE(TYPE, __private) - -DECL_BYTE_RW_ALL(char) -DECL_BYTE_RW_ALL(uchar) -DECL_BYTE_RW_ALL(short) -DECL_BYTE_RW_ALL(ushort) -DECL_UNTYPED_RW_ALL(int) -DECL_UNTYPED_RW_ALL(uint) -DECL_UNTYPED_RW_ALL(long) -DECL_UNTYPED_RW_ALL(ulong) -DECL_UNTYPED_RW_ALL(float) -DECL_UNTYPED_RW_ALL(double) - -#undef DECL_UNTYPED_RW_ALL -#undef DECL_UNTYPED_RW_ALL_SPACE -#undef DECL_UNTYPED_RD_ALL_SPACE -#undef DECL_UNTYPED_RW_SPACE_N -#undef DECL_UNTYPED_RD_SPACE_N -#undef DECL_UNTYPED_V3_SPACE -#undef DECL_UNTYPED_RDV3_SPACE -#undef DECL_BYTE_RD_SPACE -#undef DECL_BYTE_WR_SPACE -#undef DECL_BYTE_RW_ALL - -PURE CONST float __gen_ocl_f16to32(short h); -PURE CONST short __gen_ocl_f32to16(float f); - -INLINE_OVERLOADABLE short f32to16_rtp(float f) { - short s = __gen_ocl_f32to16(f); - float con = __gen_ocl_f16to32(s); - //if(isinf(con)) return s; - if (f > con) - return s - signbit(f) * 2 + 1; - else - return s; -} - -INLINE_OVERLOADABLE short f32to16_rtn(float f) { - short s = __gen_ocl_f32to16(f); - float con = __gen_ocl_f16to32(s); - //if(isinf(con)) return s; - if (con > f) - return s + signbit(f) * 2 - 1; - else - return s; -} - -INLINE_OVERLOADABLE short f32to16_rtz(float f) { - short s = __gen_ocl_f32to16(f); - float con = __gen_ocl_f16to32(s); - //if(isinf(con)) return s; - if (((con > f) && !signbit(f)) || - ((con < f) && signbit(f))) - return s - 1; - else - return s; -} - -#define DECL_HALF_LD_SPACE(SPACE) \ -INLINE_OVERLOADABLE float vload_half(size_t offset, const SPACE half *p) { \ - return __gen_ocl_f16to32(*(SPACE short *)(p + offset)); \ -} \ -INLINE_OVERLOADABLE float2 vload_half2(size_t offset, const SPACE half *p) { \ - return (float2)(vload_half(offset*2, p), \ - vload_half(offset*2 + 1, p)); \ -} \ -INLINE_OVERLOADABLE float3 vload_half3(size_t offset, const SPACE half *p) { \ - return (float3)(vload_half(offset*3, p), \ - vload_half(offset*3 + 1, p), \ - vload_half(offset*3 + 2, p)); \ -} \ -INLINE_OVERLOADABLE float3 vloada_half3(size_t offset, const SPACE half *p) { \ - return (float3)(vload_half(offset*4, p), \ - vload_half(offset*4 + 1, p), \ - vload_half(offset*4 + 2, p)); \ -} \ -INLINE_OVERLOADABLE float4 vload_half4(size_t offset, const SPACE half *p) { \ - return (float4)(vload_half2(offset*2, p), \ - vload_half2(offset*2 + 1, p)); \ -} \ -INLINE_OVERLOADABLE float8 vload_half8(size_t offset, const SPACE half *p) { \ - return (float8)(vload_half4(offset*2, p), \ - vload_half4(offset*2 + 1, p)); \ -} \ -INLINE_OVERLOADABLE float16 vload_half16(size_t offset, const SPACE half *p) { \ - return (float16)(vload_half8(offset*2, p), \ - vload_half8(offset*2 + 1, p)); \ -} - -#define DECL_HALF_ST_SPACE_ROUND(SPACE, ROUND, FUNC) \ -INLINE_OVERLOADABLE void vstore_half##ROUND(float data, size_t offset, SPACE half *p) { \ - *(SPACE short *)(p + offset) = FUNC(data); \ -} \ -INLINE_OVERLOADABLE void vstorea_half##ROUND(float data, size_t offset, SPACE half *p) { \ - vstore_half##ROUND(data, offset, p); \ -} \ -INLINE_OVERLOADABLE void vstore_half2##ROUND(float2 data, size_t offset, SPACE half *p) { \ - vstore_half##ROUND(data.lo, offset*2, p); \ - vstore_half##ROUND(data.hi, offset*2 + 1, p); \ -} \ -INLINE_OVERLOADABLE void vstorea_half2##ROUND(float2 data, size_t offset, SPACE half *p) { \ - vstore_half2##ROUND(data, offset, p); \ -} \ -INLINE_OVERLOADABLE void vstore_half3##ROUND(float3 data, size_t offset, SPACE half *p) { \ - vstore_half##ROUND(data.s0, offset*3, p); \ - vstore_half##ROUND(data.s1, offset*3 + 1, p); \ - vstore_half##ROUND(data.s2, offset*3 + 2, p); \ -} \ -INLINE_OVERLOADABLE void vstorea_half3##ROUND(float3 data, size_t offset, SPACE half *p) { \ - vstore_half##ROUND(data.s0, offset*4, p); \ - vstore_half##ROUND(data.s1, offset*4 + 1, p); \ - vstore_half##ROUND(data.s2, offset*4 + 2, p); \ -} \ -INLINE_OVERLOADABLE void vstore_half4##ROUND(float4 data, size_t offset, SPACE half *p) { \ - vstore_half2##ROUND(data.lo, offset*2, p); \ - vstore_half2##ROUND(data.hi, offset*2 + 1, p); \ -} \ -INLINE_OVERLOADABLE void vstorea_half4##ROUND(float4 data, size_t offset, SPACE half *p) { \ - vstore_half4##ROUND(data, offset, p); \ -} \ -INLINE_OVERLOADABLE void vstore_half8##ROUND(float8 data, size_t offset, SPACE half *p) { \ - vstore_half4##ROUND(data.lo, offset*2, p); \ - vstore_half4##ROUND(data.hi, offset*2 + 1, p); \ -} \ -INLINE_OVERLOADABLE void vstorea_half8##ROUND(float8 data, size_t offset, SPACE half *p) { \ - vstore_half8##ROUND(data, offset, p); \ -} \ -INLINE_OVERLOADABLE void vstore_half16##ROUND(float16 data, size_t offset, SPACE half *p) { \ - vstore_half8##ROUND(data.lo, offset*2, p); \ - vstore_half8##ROUND(data.hi, offset*2 + 1, p); \ -} \ -INLINE_OVERLOADABLE void vstorea_half16##ROUND(float16 data, size_t offset, SPACE half *p) { \ - vstore_half16##ROUND(data, offset, p); \ -} - -#define DECL_HALF_ST_SPACE(SPACE) \ - DECL_HALF_ST_SPACE_ROUND(SPACE, , __gen_ocl_f32to16) \ - DECL_HALF_ST_SPACE_ROUND(SPACE, _rte, __gen_ocl_f32to16) \ - DECL_HALF_ST_SPACE_ROUND(SPACE, _rtz, f32to16_rtz) \ - DECL_HALF_ST_SPACE_ROUND(SPACE, _rtp, f32to16_rtp) \ - DECL_HALF_ST_SPACE_ROUND(SPACE, _rtn, f32to16_rtn) \ - -DECL_HALF_LD_SPACE(__global) -DECL_HALF_LD_SPACE(__local) -DECL_HALF_LD_SPACE(__constant) -DECL_HALF_LD_SPACE(__private) - -DECL_HALF_ST_SPACE(__global) -DECL_HALF_ST_SPACE(__local) -DECL_HALF_ST_SPACE(__private) - -//#undef DECL_UNTYPED_RW_ALL_SPACE -#undef DECL_HALF_LD_SPACE -#undef DECL_HALF_ST_SPACE -#undef DECL_HALF_ST_SPACE_ROUND - -#define vloada_half vload_half -#define vloada_half2 vload_half2 -#define vloada_half4 vload_half4 -#define vloada_half8 vload_half8 -#define vloada_half16 vload_half16 - -// XXX workaround ptx profile -#define fabs __gen_ocl_internal_fabs -#define trunc __gen_ocl_internal_trunc -#define round __gen_ocl_internal_round -#define floor __gen_ocl_internal_floor -#define ceil __gen_ocl_internal_ceil -#define log __gen_ocl_internal_log -#define log2 __gen_ocl_internal_log2 -#define log10 __gen_ocl_internal_log10 -#define exp __gen_ocl_internal_exp -#define exp2 native_exp2 -#define exp10 __gen_ocl_internal_exp10 -#define expm1 __gen_ocl_internal_expm1 -#define fmin __gen_ocl_internal_fmin -#define fmax __gen_ocl_internal_fmax -#define fma mad -#define fdim __gen_ocl_internal_fdim -#define maxmag __gen_ocl_internal_maxmag -#define minmag __gen_ocl_internal_minmag - -///////////////////////////////////////////////////////////////////////////// -// Miscellaneous Vector Functions (see 6.11.12 of OCL 1.1 spec) -///////////////////////////////////////////////////////////////////////////// -#define DEC2(TYPE, XTYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##2 shuffle(XTYPE x, MASKTYPE##2 mask) { \ - TYPE##2 y; \ - y.s0 = ((TYPE *) &x)[mask.s0 & (vec_step(x) - 1)]; \ - y.s1 = ((TYPE *) &x)[mask.s1 & (vec_step(x) - 1)]; \ - return y; \ - } - -#define DEC4(TYPE, XTYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##4 shuffle(XTYPE x, MASKTYPE##4 mask) { \ - TYPE##4 y; \ - y.s0 = ((TYPE *) &x)[mask.s0 & (vec_step(x) - 1)]; \ - y.s1 = ((TYPE *) &x)[mask.s1 & (vec_step(x) - 1)]; \ - y.s2 = ((TYPE *) &x)[mask.s2 & (vec_step(x) - 1)]; \ - y.s3 = ((TYPE *) &x)[mask.s3 & (vec_step(x) - 1)]; \ - return y; \ - } - -#define DEC8(TYPE, XTYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##8 shuffle(XTYPE x, MASKTYPE##8 mask) { \ - TYPE##8 y; \ - y.s0 = ((TYPE *) &x)[mask.s0 & (vec_step(x) - 1)]; \ - y.s1 = ((TYPE *) &x)[mask.s1 & (vec_step(x) - 1)]; \ - y.s2 = ((TYPE *) &x)[mask.s2 & (vec_step(x) - 1)]; \ - y.s3 = ((TYPE *) &x)[mask.s3 & (vec_step(x) - 1)]; \ - y.s4 = ((TYPE *) &x)[mask.s4 & (vec_step(x) - 1)]; \ - y.s5 = ((TYPE *) &x)[mask.s5 & (vec_step(x) - 1)]; \ - y.s6 = ((TYPE *) &x)[mask.s6 & (vec_step(x) - 1)]; \ - y.s7 = ((TYPE *) &x)[mask.s7 & (vec_step(x) - 1)]; \ - return y; \ - } - -#define DEC16(TYPE, XTYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##16 shuffle(XTYPE x, MASKTYPE##16 mask) { \ - TYPE##16 y; \ - y.s0 = ((TYPE *) &x)[mask.s0 & (vec_step(x) - 1)]; \ - y.s1 = ((TYPE *) &x)[mask.s1 & (vec_step(x) - 1)]; \ - y.s2 = ((TYPE *) &x)[mask.s2 & (vec_step(x) - 1)]; \ - y.s3 = ((TYPE *) &x)[mask.s3 & (vec_step(x) - 1)]; \ - y.s4 = ((TYPE *) &x)[mask.s4 & (vec_step(x) - 1)]; \ - y.s5 = ((TYPE *) &x)[mask.s5 & (vec_step(x) - 1)]; \ - y.s6 = ((TYPE *) &x)[mask.s6 & (vec_step(x) - 1)]; \ - y.s7 = ((TYPE *) &x)[mask.s7 & (vec_step(x) - 1)]; \ - y.s8 = ((TYPE *) &x)[mask.s8 & (vec_step(x) - 1)]; \ - y.s9 = ((TYPE *) &x)[mask.s9 & (vec_step(x) - 1)]; \ - y.sa = ((TYPE *) &x)[mask.sa & (vec_step(x) - 1)]; \ - y.sb = ((TYPE *) &x)[mask.sb & (vec_step(x) - 1)]; \ - y.sc = ((TYPE *) &x)[mask.sc & (vec_step(x) - 1)]; \ - y.sd = ((TYPE *) &x)[mask.sd & (vec_step(x) - 1)]; \ - y.se = ((TYPE *) &x)[mask.se & (vec_step(x) - 1)]; \ - y.sf = ((TYPE *) &x)[mask.sf & (vec_step(x) - 1)]; \ - return y; \ - } - -#define DEFMASK(TYPE, MASKTYPE) \ - DEC2(TYPE, TYPE##2, MASKTYPE); DEC2(TYPE, TYPE##4, MASKTYPE); DEC2(TYPE, TYPE##8, MASKTYPE); DEC2(TYPE, TYPE##16, MASKTYPE) \ - DEC4(TYPE, TYPE##2, MASKTYPE); DEC4(TYPE, TYPE##4, MASKTYPE); DEC4(TYPE, TYPE##8, MASKTYPE); DEC4(TYPE, TYPE##16, MASKTYPE) \ - DEC8(TYPE, TYPE##2, MASKTYPE); DEC8(TYPE, TYPE##4, MASKTYPE); DEC8(TYPE, TYPE##8, MASKTYPE); DEC8(TYPE, TYPE##16, MASKTYPE) \ - DEC16(TYPE, TYPE##2, MASKTYPE); DEC16(TYPE, TYPE##4, MASKTYPE); DEC16(TYPE, TYPE##8, MASKTYPE); DEC16(TYPE, TYPE##16, MASKTYPE) - -#define DEF(TYPE) \ - DEFMASK(TYPE, uchar) \ - DEFMASK(TYPE, ushort) \ - DEFMASK(TYPE, uint) \ - DEFMASK(TYPE, ulong) - -DEF(char) -DEF(uchar) -DEF(short) -DEF(ushort) -DEF(int) -DEF(uint) -DEF(float) -DEF(long) -DEF(ulong) -#undef DEF -#undef DEFMASK -#undef DEC2 -#undef DEC4 -#undef DEC8 -#undef DEC16 - -#define DEC2(TYPE, ARGTYPE, TEMPTYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##2 shuffle2(ARGTYPE x, ARGTYPE y, MASKTYPE##2 mask) { \ - return shuffle((TEMPTYPE)(x, y), mask); \ - } - -#define DEC2X(TYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##2 shuffle2(TYPE##16 x, TYPE##16 y, MASKTYPE##2 mask) { \ - TYPE##2 z; \ - z.s0 = mask.s0 < 16 ? ((TYPE *)&x)[mask.s0] : ((TYPE *)&y)[mask.s0 & 15]; \ - z.s1 = mask.s1 < 16 ? ((TYPE *)&x)[mask.s1] : ((TYPE *)&y)[mask.s1 & 15]; \ - return z; \ - } - -#define DEC4(TYPE, ARGTYPE, TEMPTYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##4 shuffle2(ARGTYPE x, ARGTYPE y, MASKTYPE##4 mask) { \ - return shuffle((TEMPTYPE)(x, y), mask); \ - } - -#define DEC4X(TYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##4 shuffle2(TYPE##16 x, TYPE##16 y, MASKTYPE##4 mask) { \ - TYPE##4 z; \ - z.s0 = mask.s0 < 16 ? ((TYPE *)&x)[mask.s0] : ((TYPE *)&y)[mask.s0 & 15]; \ - z.s1 = mask.s1 < 16 ? ((TYPE *)&x)[mask.s1] : ((TYPE *)&y)[mask.s1 & 15]; \ - z.s2 = mask.s2 < 16 ? ((TYPE *)&x)[mask.s2] : ((TYPE *)&y)[mask.s2 & 15]; \ - z.s3 = mask.s3 < 16 ? ((TYPE *)&x)[mask.s3] : ((TYPE *)&y)[mask.s3 & 15]; \ - return z; \ - } - -#define DEC8(TYPE, ARGTYPE, TEMPTYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##8 shuffle2(ARGTYPE x, ARGTYPE y, MASKTYPE##8 mask) { \ - return shuffle((TEMPTYPE)(x, y), mask); \ - } - -#define DEC8X(TYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##8 shuffle2(TYPE##16 x, TYPE##16 y, MASKTYPE##8 mask) { \ - TYPE##8 z; \ - z.s0 = mask.s0 < 16 ? ((TYPE *)&x)[mask.s0] : ((TYPE *)&y)[mask.s0 & 15]; \ - z.s1 = mask.s1 < 16 ? ((TYPE *)&x)[mask.s1] : ((TYPE *)&y)[mask.s1 & 15]; \ - z.s2 = mask.s2 < 16 ? ((TYPE *)&x)[mask.s2] : ((TYPE *)&y)[mask.s2 & 15]; \ - z.s3 = mask.s3 < 16 ? ((TYPE *)&x)[mask.s3] : ((TYPE *)&y)[mask.s3 & 15]; \ - z.s4 = mask.s4 < 16 ? ((TYPE *)&x)[mask.s4] : ((TYPE *)&y)[mask.s4 & 15]; \ - z.s5 = mask.s5 < 16 ? ((TYPE *)&x)[mask.s5] : ((TYPE *)&y)[mask.s5 & 15]; \ - z.s6 = mask.s6 < 16 ? ((TYPE *)&x)[mask.s6] : ((TYPE *)&y)[mask.s6 & 15]; \ - z.s7 = mask.s7 < 16 ? ((TYPE *)&x)[mask.s7] : ((TYPE *)&y)[mask.s7 & 15]; \ - return z; \ - } - -#define DEC16(TYPE, ARGTYPE, TEMPTYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##16 shuffle2(ARGTYPE x, ARGTYPE y, MASKTYPE##16 mask) { \ - return shuffle((TEMPTYPE)(x, y), mask); \ - } - -#define DEC16X(TYPE, MASKTYPE) \ - INLINE_OVERLOADABLE TYPE##16 shuffle2(TYPE##16 x, TYPE##16 y, MASKTYPE##16 mask) { \ - TYPE##16 z; \ - z.s0 = mask.s0 < 16 ? ((TYPE *)&x)[mask.s0] : ((TYPE *)&y)[mask.s0 & 15]; \ - z.s1 = mask.s1 < 16 ? ((TYPE *)&x)[mask.s1] : ((TYPE *)&y)[mask.s1 & 15]; \ - z.s2 = mask.s2 < 16 ? ((TYPE *)&x)[mask.s2] : ((TYPE *)&y)[mask.s2 & 15]; \ - z.s3 = mask.s3 < 16 ? ((TYPE *)&x)[mask.s3] : ((TYPE *)&y)[mask.s3 & 15]; \ - z.s4 = mask.s4 < 16 ? ((TYPE *)&x)[mask.s4] : ((TYPE *)&y)[mask.s4 & 15]; \ - z.s5 = mask.s5 < 16 ? ((TYPE *)&x)[mask.s5] : ((TYPE *)&y)[mask.s5 & 15]; \ - z.s6 = mask.s6 < 16 ? ((TYPE *)&x)[mask.s6] : ((TYPE *)&y)[mask.s6 & 15]; \ - z.s7 = mask.s7 < 16 ? ((TYPE *)&x)[mask.s7] : ((TYPE *)&y)[mask.s7 & 15]; \ - z.s8 = mask.s8 < 16 ? ((TYPE *)&x)[mask.s8] : ((TYPE *)&y)[mask.s8 & 15]; \ - z.s9 = mask.s9 < 16 ? ((TYPE *)&x)[mask.s9] : ((TYPE *)&y)[mask.s9 & 15]; \ - z.sa = mask.sa < 16 ? ((TYPE *)&x)[mask.sa] : ((TYPE *)&y)[mask.sa & 15]; \ - z.sb = mask.sb < 16 ? ((TYPE *)&x)[mask.sb] : ((TYPE *)&y)[mask.sb & 15]; \ - z.sc = mask.sc < 16 ? ((TYPE *)&x)[mask.sc] : ((TYPE *)&y)[mask.sc & 15]; \ - z.sd = mask.sd < 16 ? ((TYPE *)&x)[mask.sd] : ((TYPE *)&y)[mask.sd & 15]; \ - z.se = mask.se < 16 ? ((TYPE *)&x)[mask.se] : ((TYPE *)&y)[mask.se & 15]; \ - z.sf = mask.sf < 16 ? ((TYPE *)&x)[mask.sf] : ((TYPE *)&y)[mask.sf & 15]; \ - return z; \ - } - -#define DEFMASK(TYPE, MASKTYPE) \ - DEC2(TYPE, TYPE##2, TYPE##4, MASKTYPE) \ - DEC2(TYPE, TYPE##4, TYPE##8, MASKTYPE) \ - DEC2(TYPE, TYPE##8, TYPE##16, MASKTYPE) \ - DEC2X(TYPE, MASKTYPE) \ - DEC4(TYPE, TYPE##2, TYPE##4, MASKTYPE) \ - DEC4(TYPE, TYPE##4, TYPE##8, MASKTYPE) \ - DEC4(TYPE, TYPE##8, TYPE##16, MASKTYPE) \ - DEC4X(TYPE, MASKTYPE) \ - DEC8(TYPE, TYPE##2, TYPE##4, MASKTYPE) \ - DEC8(TYPE, TYPE##4, TYPE##8, MASKTYPE) \ - DEC8(TYPE, TYPE##8, TYPE##16, MASKTYPE) \ - DEC8X(TYPE, MASKTYPE) \ - DEC16(TYPE, TYPE##2, TYPE##4, MASKTYPE) \ - DEC16(TYPE, TYPE##4, TYPE##8, MASKTYPE) \ - DEC16(TYPE, TYPE##8, TYPE##16, MASKTYPE) \ - DEC16X(TYPE, MASKTYPE) - -#define DEF(TYPE) \ - DEFMASK(TYPE, uchar) \ - DEFMASK(TYPE, ushort) \ - DEFMASK(TYPE, uint) \ - DEFMASK(TYPE, ulong) - -DEF(char) -DEF(uchar) -DEF(short) -DEF(ushort) -DEF(int) -DEF(uint) -DEF(float) -DEF(long) -DEF(ulong) -#undef DEF -#undef DEFMASK -#undef DEC2 -#undef DEC2X -#undef DEC4 -#undef DEC4X -#undef DEC8 -#undef DEC8X -#undef DEC16 -#undef DEC16X -///////////////////////////////////////////////////////////////////////////// -// Synchronization functions -///////////////////////////////////////////////////////////////////////////// -#define CLK_LOCAL_MEM_FENCE (1 << 0) -#define CLK_GLOBAL_MEM_FENCE (1 << 1) - -void __gen_ocl_barrier_local(void); -void __gen_ocl_barrier_global(void); -void __gen_ocl_barrier_local_and_global(void); - -typedef uint cl_mem_fence_flags; -void barrier(cl_mem_fence_flags flags); - -INLINE void mem_fence(cl_mem_fence_flags flags) { -} -INLINE void read_mem_fence(cl_mem_fence_flags flags) { -} -INLINE void write_mem_fence(cl_mem_fence_flags flags) { -} - -///////////////////////////////////////////////////////////////////////////// -// Async Copies and prefetch -///////////////////////////////////////////////////////////////////////////// -#define BODY(SRC_STRIDE, DST_STRIDE) \ - uint size = get_local_size(2) * get_local_size(1) * get_local_size(0); \ - uint count = num / size; \ - uint offset = get_local_id(2) * get_local_size(1) + get_local_id(1); \ - offset = offset * get_local_size(0) + get_local_id(0); \ - for(uint i=0; i -0x1p-20f) \ - tmpCoord += -0x1p-9; \ - } - -DECL_IMAGE(GEN_FIX_1, image1d_t, int4, i) -DECL_IMAGE(GEN_FIX_1, image1d_t, uint4, ui) -DECL_IMAGE(0, image1d_t, float4, f) -DECL_IMAGE(GEN_FIX_1, image1d_buffer_t, int4, i) -DECL_IMAGE(GEN_FIX_1, image1d_buffer_t, uint4, ui) -DECL_IMAGE(0, image1d_buffer_t, float4, f) - -// 1D Info -DECL_IMAGE_INFO_COMMON(image1d_t) -DECL_IMAGE_INFO_COMMON(image1d_buffer_t) - -#undef EXPEND_READ_COORD -#undef EXPEND_READ_COORDF -#undef EXPEND_READ_COORDI -#undef DENORMALIZE_COORD -#undef EXPEND_WRITE_COORD -#undef FIXUP_FLOAT_COORD -#undef DECL_IMAGE -// End of 1D - -#define DECL_IMAGE(int_clamping_fix, image_type, type, suffix, n) \ - DECL_READ_IMAGE0(int_clamping_fix, image_type, type, suffix, int ##n, n) \ - DECL_READ_IMAGE1(GEN_FIX_1, int_clamping_fix, image_type, type, suffix, float ##n, n) \ - DECL_READ_IMAGE_NOSAMPLER(image_type, type, suffix, int ##n, n) \ - DECL_WRITE_IMAGE(image_type, type, suffix, int ## n) \ - DECL_WRITE_IMAGE(image_type, type, suffix, float ## n) -// 2D -#define EXPEND_READ_COORD(id, sampler, coord) id, sampler, coord.s0, coord.s1, 1 -#define EXPEND_READ_COORDF(id, sampler, coord) id, sampler, (float)coord.s0, (float)coord.s1 -#define EXPEND_READ_COORDI(id, sampler, coord) id, sampler, (int)(coord.s0 < 0 ? -1 : coord.s0), \ - (int)(coord.s1 < 0 ? -1 : coord.s1), 1 -#define DENORMALIZE_COORD(id, dstCoord, srcCoord) dstCoord.x = srcCoord.x * __gen_ocl_get_image_width(id); \ - dstCoord.y = srcCoord.y * __gen_ocl_get_image_height(id); -#define EXPEND_WRITE_COORD(id, coord, color) id, coord.s0, coord.s1, color - -#define FIXUP_FLOAT_COORD(tmpCoord) \ - { \ - if (tmpCoord.s0 < 0 && tmpCoord.s0 > -0x1p-20f) \ - tmpCoord.s0 += -0x1p-9; \ - if (tmpCoord.s1 < 0 && tmpCoord.s1 > -0x1p-20f) \ - tmpCoord.s1 += -0x1p-9f; \ - } - -DECL_IMAGE(GEN_FIX_1, image2d_t, int4, i, 2) -DECL_IMAGE(GEN_FIX_1, image2d_t, uint4, ui, 2) -DECL_IMAGE(0, image2d_t, float4, f, 2) - -// 1D Array -#undef GET_IMAGE_ARRAY_SIZE -#undef EXPEND_READ_COORD -#undef EXPEND_READ_COORDF -#undef EXPEND_READ_COORDI -#undef DENORMALIZE_COORD -#undef EXPEND_WRITE_COORD -#undef FIXUP_FLOAT_COORD - -#define EXPEND_READ_COORD(id, sampler, coord) id, sampler, coord.s0, (int)0, ai, 2 -#define EXPEND_READ_COORDF(id, sampler, coord) id, sampler, (float)coord.s0, (float)ai -#define EXPEND_READ_COORDI(id, sampler, coord) id, sampler, (int)(coord.s0 < 0 ? -1 : coord.s0), 0, (int)ai, 2 -#define DENORMALIZE_COORD(id, dstCoord, srcCoord) dstCoord.x = srcCoord.x * __gen_ocl_get_image_width(id); -#define EXPEND_WRITE_COORD(id, coord, color) id, coord.s0, __gen_compute_array_index(coord.s1, cl_image), color -#define GET_IMAGE_ARRAY_SIZE(image, coord, coord_type, ai) \ - coord_type ai = __gen_compute_array_index(coord.s1, image); - -#define FIXUP_FLOAT_COORD(tmpCoord) \ - { \ - if (tmpCoord.s0 < 0 && tmpCoord.s0 > -0x1p-20f) \ - tmpCoord.s0 += -0x1p-9; \ - } - -DECL_IMAGE(GEN_FIX_1, image1d_array_t, int4, i, 2) -DECL_IMAGE(GEN_FIX_1, image1d_array_t, uint4, ui, 2) -DECL_IMAGE(0, image1d_array_t, float4, f, 2) - -// 2D Info -DECL_IMAGE_INFO_COMMON(image2d_t) -INLINE_OVERLOADABLE int get_image_height(image2d_t image) -{ - GET_IMAGE(image, surface_id); - return __gen_ocl_get_image_height(surface_id); -} -INLINE_OVERLOADABLE int2 get_image_dim(image2d_t image) -{ - return (int2){get_image_width(image), get_image_height(image)}; -} - -// 1D Array info -DECL_IMAGE_INFO_COMMON(image1d_array_t) -INLINE_OVERLOADABLE size_t get_image_array_size(image1d_array_t image) -{ - GET_IMAGE(image, surface_id); - return __gen_ocl_get_image_depth(surface_id); -} - -#undef EXPEND_READ_COORD -#undef EXPEND_READ_COORDI -#undef EXPEND_READ_COORDF -#undef DENORMALIZE_COORD -#undef EXPEND_WRITE_COORD -#undef FIXUP_FLOAT_COORD -#undef GET_IMAGE_ARRAY_SIZE -// End of 2D and 1D Array - -// 3D -#define EXPEND_READ_COORD(id, sampler, coord) id, sampler, coord.s0, coord.s1, coord.s2, 1 -#define EXPEND_READ_COORDF(id, sampler, coord) id, sampler, (float)coord.s0, (float)coord.s1, (float)coord.s2 -#define EXPEND_READ_COORDI(id, sampler, coord) id, sampler, (int) (coord.s0 < 0 ? -1 : coord.s0), \ - (int)(coord.s1 < 0 ? -1 : coord.s1), (int)(coord.s2 < 0 ? -1 : coord.s2), 1 -#define DENORMALIZE_COORD(id, dstCoord, srcCoord) dstCoord.x = srcCoord.x * __gen_ocl_get_image_width(id); \ - dstCoord.y = srcCoord.y * __gen_ocl_get_image_height(id); \ - dstCoord.z = srcCoord.z * __gen_ocl_get_image_depth(id); -#define EXPEND_WRITE_COORD(id, coord, color) id, coord.s0, coord.s1, coord.s2, color - -#define FIXUP_FLOAT_COORD(tmpCoord) \ - { \ - if (tmpCoord.s0 < 0 && tmpCoord.s0 > -0x1p-20) \ - tmpCoord.s0 += -0x1p-9; \ - if (tmpCoord.s1 < 0 && tmpCoord.s1 > -0x1p-20) \ - tmpCoord.s1 += -0x1p-9; \ - if (tmpCoord.s2 < 0 && tmpCoord.s2 > -0x1p-20) \ - tmpCoord.s2 += -0x1p-9; \ - } -#define GET_IMAGE_ARRAY_SIZE(a,b,c,d) - -DECL_IMAGE(GEN_FIX_1, image3d_t, int4, i, 4) -DECL_IMAGE(GEN_FIX_1, image3d_t, uint4, ui, 4) -DECL_IMAGE(0, image3d_t, float4, f, 4) - -DECL_IMAGE(GEN_FIX_1, image3d_t, int4, i, 3) -DECL_IMAGE(GEN_FIX_1, image3d_t, uint4, ui, 3) -DECL_IMAGE(0, image3d_t, float4, f, 3) - -#undef EXPEND_READ_COORD -#undef EXPEND_READ_COORDF -#undef EXPEND_READ_COORDI -#undef DENORMALIZE_COORD -#undef EXPEND_WRITE_COORD -#undef FIXUP_FLOAT_COORD -#undef GET_IMAGE_ARRAY_SIZE - -#define EXPEND_READ_COORD(id, sampler, coord) id, sampler, coord.s0, coord.s1, ai, 1 -#define EXPEND_READ_COORDF(id, sampler, coord) id, sampler, (float)coord.s0, (float)coord.s1, (float)ai -#define EXPEND_READ_COORDI(id, sampler, coord) id, sampler, (int) (coord.s0 < 0 ? -1 : coord.s0), \ - (int)(coord.s1 < 0 ? -1 : coord.s1), (int)ai, 1 -#define DENORMALIZE_COORD(id, dstCoord, srcCoord) dstCoord.x = srcCoord.x * __gen_ocl_get_image_width(id); \ - dstCoord.y = srcCoord.y * __gen_ocl_get_image_height(id); -#define EXPEND_WRITE_COORD(id, coord, color) id, coord.s0, coord.s1, __gen_compute_array_index(coord.s2, cl_image), color - -#define FIXUP_FLOAT_COORD(tmpCoord) \ - { \ - if (tmpCoord.s0 < 0 && tmpCoord.s0 > -0x1p-20) \ - tmpCoord.s0 += -0x1p-9; \ - if (tmpCoord.s1 < 0 && tmpCoord.s1 > -0x1p-20) \ - tmpCoord.s1 += -0x1p-9; \ - } -#define GET_IMAGE_ARRAY_SIZE(image, coord, coord_type, ai) \ - coord_type ai = __gen_compute_array_index(coord.s2, image); - -// 2D Array -DECL_IMAGE(GEN_FIX_1, image2d_array_t, int4, i, 4) -DECL_IMAGE(GEN_FIX_1, image2d_array_t, uint4, ui, 4) -DECL_IMAGE(0, image2d_array_t, float4, f, 4) - -DECL_IMAGE(GEN_FIX_1, image2d_array_t, int4, i, 3) -DECL_IMAGE(GEN_FIX_1, image2d_array_t, uint4, ui, 3) -DECL_IMAGE(0, image2d_array_t, float4, f, 3) - -// 3D Info -DECL_IMAGE_INFO_COMMON(image3d_t) -INLINE_OVERLOADABLE int get_image_height(image3d_t image) -{ - GET_IMAGE(image, surface_id); - return __gen_ocl_get_image_height(surface_id); -} -INLINE_OVERLOADABLE int get_image_depth(image3d_t image) -{ - GET_IMAGE(image, surface_id); - return __gen_ocl_get_image_depth(surface_id); -} -INLINE_OVERLOADABLE int4 get_image_dim(image3d_t image) -{ - return (int4){get_image_width(image), get_image_height(image), get_image_depth(image), 0}; -} - -// 2D Array Info -DECL_IMAGE_INFO_COMMON(image2d_array_t) -INLINE_OVERLOADABLE int get_image_height(image2d_array_t image) -{ - GET_IMAGE(image, surface_id); - return __gen_ocl_get_image_height(surface_id); -} -INLINE_OVERLOADABLE int2 get_image_dim(image2d_array_t image) -{ - return (int2){get_image_width(image), get_image_height(image)}; -} -INLINE_OVERLOADABLE size_t get_image_array_size(image2d_array_t image) -{ - GET_IMAGE(image, surface_id); - return __gen_ocl_get_image_depth(surface_id); -} - -#undef EXPEND_READ_COORD -#undef EXPEND_READ_COORDF -#undef EXPEND_READ_COORDI -#undef DENORMALIZE_COORD -#undef EXPEND_WRITE_COORD -#undef FIXUP_FLOAT_COORD -#undef GET_IMAGE_ARRAY_SIZE -// End of 3D and 2D Array - -#undef DECL_IMAGE -#undef DECL_READ_IMAGE -#undef DECL_READ_IMAGE_NOSAMPLER -#undef DECL_WRITE_IMAGE -#undef GEN_FIX_1 -// End of Image - - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_acosh (float x) -{ - return native_log(x + native_sqrt(x + 1) * native_sqrt(x - 1)); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_asinh (float x) -{ - return native_log(x + native_sqrt(x * x + 1)); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_atanh (float x) -{ - return 0.5f * native_log((1 + x) / (1 - x)); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_cbrt (float x) -{ - return __gen_ocl_pow(x, 0.3333333333f); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_cos (float x) -{ - return native_cos(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_cosh (float x) -{ - return (1 + native_exp(-2 * x)) / (2 * native_exp(-x)); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_cospi (float x) -{ - return __gen_ocl_cos(x * M_PI_F); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_exp (float x) -{ - return native_exp(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_exp10 (float x) -{ - return native_exp10(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_expm1 (float x) -{ - return __gen_ocl_pow(M_E_F, x) - 1; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_fmod (float x, float y) -{ - return x-y*__gen_ocl_rndz(x/y); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_hypot (float x, float y) -{ - return __gen_ocl_sqrt(x*x + y*y); -} - -INLINE_OVERLOADABLE int __gen_ocl_internal_fastpath_ilogb (float x) -{ - return __gen_ocl_rndd(native_log2(x)); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_ldexp (float x, int n) -{ - return __gen_ocl_pow(2, n) * x; -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_log (float x) -{ - return native_log(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_log2 (float x) -{ - return native_log2(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_log10 (float x) -{ - return native_log10(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_log1p (float x) -{ - return native_log(x + 1); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_logb (float x) -{ - return __gen_ocl_rndd(native_log2(x)); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_remainder (float x, float y) -{ - return x-y*__gen_ocl_rnde(x/y); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_rootn(float x, int n) -{ - return internal_rootn(x, n, 1); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_sin (float x) -{ - return native_sin(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_sincos (float x, __global float *cosval) -{ - *cosval = native_cos(x); - return native_sin(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_sincos (float x, __local float *cosval) -{ - *cosval = native_cos(x); - return native_sin(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_sincos (float x, __private float *cosval) -{ - *cosval = native_cos(x); - return native_sin(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_sinh (float x) -{ - return (1 - native_exp(-2 * x)) / (2 * native_exp(-x)); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_sinpi (float x) -{ - return __gen_ocl_sin(x * M_PI_F); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_tan (float x) -{ - return native_tan(x); -} - -INLINE_OVERLOADABLE float __gen_ocl_internal_fastpath_tanh (float x) -{ - float y = native_exp(-2 * x); - return (1 - y) / (1 + y); -} - -#pragma OPENCL EXTENSION cl_khr_fp64 : disable - -#undef DECL_IMAGE -#undef DECL_READ_IMAGE -#undef DECL_READ_IMAGE_NOSAMPLER -#undef DECL_WRITE_IMAGE - -#undef GET_IMAGE -// ##BEGIN_VECTOR## -// ##END_VECTOR## - -#undef INLINE_OVERLOADABLE -#undef PURE -#undef CONST -#undef OVERLOADABLE -#undef INLINE - -#endif /* __GEN_OCL_STDLIB_H__ */ diff --git a/backend/src/update.sh b/backend/src/update.sh deleted file mode 100755 index 0e5f8c0..0000000 --- a/backend/src/update.sh +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/sh -e -./update_as.sh -./update_convert.sh diff --git a/backend/src/update_as.sh b/backend/src/update_as.sh deleted file mode 100755 index c68e789..0000000 --- a/backend/src/update_as.sh +++ /dev/null @@ -1,11 +0,0 @@ -#! /bin/sh -e - -AS_HEADER=ocl_as.h - -exec >$AS_HEADER.tmp -echo "// This file is autogenerated by gen_as.sh." -echo "// Don't modify it manually." -./gen_as.sh -exec >&2 - -mv $AS_HEADER.tmp $AS_HEADER diff --git a/backend/src/update_blob_ocl_header.py b/backend/src/update_blob_ocl_header.py deleted file mode 100755 index 50f2501..0000000 --- a/backend/src/update_blob_ocl_header.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (C) 2012 Intel Corporation -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library. If not, see . -# -# Author: Zhigang Gong -#/ -import sys -import os - -if len(sys.argv) != 3: - print "Invalid argument {0}".format(sys.argv) - print "use {0} tmpl_file_name output_file_name".format(sys.argv[0]) - raise - -def safeUnlink(filename): - try: - os.remove(filename) - except OSError: - pass - -header_segments = [ "vector", "as", "convert", "common_defines"] -blobFileName = sys.argv[2] -blobTempName = sys.argv[2] + '.tmp' -safeUnlink(blobFileName) -tmplFile = open(sys.argv[1], 'r') -blob = open(blobTempName, 'w') -path = os.path.dirname(sys.argv[1]) -if path == '': - path = '.' - -matched_header = "" -for tline in tmplFile: - if matched_header == "": - blob.write(tline) - for header in header_segments: - if tline.strip() == '// ##BEGIN_{0}##'.format(header.upper()) : - hFile = open(path + '/ocl_' + header + '.h', 'r') - lineNr = 0 - for hline in hFile: - if lineNr >= 2: #ignore the 2 lines of comment at the top of file. - blob.write(hline) - lineNr += 1 - hFile.close() - matched_header = header - else: - if tline.strip() == '// ##END_{0}##'.format(matched_header.upper()) : - blob.write(tline) - matched_header = ""; - -tmplFile.close() -blob.close() -os.rename(blobTempName, blobFileName) diff --git a/backend/src/update_convert.sh b/backend/src/update_convert.sh deleted file mode 100755 index 3c47917..0000000 --- a/backend/src/update_convert.sh +++ /dev/null @@ -1,12 +0,0 @@ -#! /bin/sh -e - -CONVERT_HEADER=ocl_convert.h - - -exec >$CONVERT_HEADER.tmp -echo "// This file is autogenerated by gen_convert.sh." -echo "// Don't modify it manually." -./gen_convert.sh -exec >&2 - -mv $CONVERT_HEADER.tmp $CONVERT_HEADER -- 2.7.4