1{{simdpp/title|to_int16}} 2{{conv/navbar}} 3{{dcl begin}} 4{{dcl | 5template<unsigned N, class E> 6int16<N, _DETAIL_> to_int16( Vec<N,E> a ); 7}} 8{{dcl end}} 9 10Converts elements within a vector to 16-bit signed values. 11 12The implementation behaves as if the following set of overloads is provided: 13 14{{vset begin}} 15{{vset1 h | Vec }} 16{{vset1 | int8 }} 17{{vset1 | uint8 }} 18{{vset1 | int16 }} 19{{vset1 | uint16 }} 20{{vset1 | int32 }} 21{{vset1 | uint32 }} 22{{vset1 | int64 }} 23{{vset1 | uint64 }} 24{{vset1 | float32 }} 25{{vset1 | float64 }} 26{{vset end}} 27 28The return type is a [[types#expr|vector expression]]. 29 30The conversion rules are as follows: 31* 8-bit signed integers are sign-extended to 16 bits. 32* 8-bit unsigned integers are zero-extended to 16 bits. 33* 32-bit and wider integers are truncated. 34* floating-point numbers are converted to integer values and truncated. 35* if floating-point value can not be represented in 16-bit signed integer, the behavior depends on the instruction set used. 36 37===Parameters=== 38{{par begin}} 39{{par | a | vector to convert}} 40{{par end}} 41 42===Return value=== 43A [[types#expr|vector expression]] evaluating to vector with values converted to 16-bit signed integers. 44 45===Equivalent operation=== 46{{source|1= 47r0 = int16_t(a0) 48... 49rN = int16_t(aN) 50}} 51 52===See also=== 53{{dsc begin}} 54{{dsc inc | conv/dsc to_uint16 }} 55{{dsc end}} 56