// dct16 computes the 16th-order discrete cosine transform.
163099
func dct16(data *[16]float32) {
	var even, odd [8]float32
	for i := 0; i < 8; i++ {
		even[i] = data[i] + data[15-i]
		odd[i] = (data[i] - data[15-i]) * dct16c[i]
	}

	dct8(&even)
	dct8(&odd)

	for i := 0; i < 7; i++ {
		odd[i] += odd[i+1]
	}

	for i := 0; i < 8; i++ {
		data[2*i] = even[i]
		data[2*i+1] = odd[i]
	}
}
832029
func dct4(data *[4]float32) {
	var even, odd [2]float32
	for i := 0; i < 2; i++ {
		even[i] = data[i] + data[3-i]
		odd[i] = (data[i] - data[3-i]) * dct4c[i]
	}

	dct2(&even)
	dct2(&odd)

	odd[0] += odd[1]

	for i := 0; i < 2; i++ {
		data[2*i] = even[i]
		data[2*i+1] = odd[i]
	}
}
740569
func Uint16ToBytesTo(v uint16, ret []byte) {
	binary.BigEndian.PutUint16(ret, v)
}
445832
func (dec *Decoder) DecodeInt16(v *int16) error {
	if dec.isPooled == 1 {
		panic(InvalidUsagePooledDecoderError("Invalid usage of pooled decoder"))
	}
	return dec.decodeInt16(v)
}
354549
func (rwops *RWops) WriteLE16(value uint16) uint {
	if rwops == nil {
		return 0
	}
	return uint(C.SDL_WriteLE16(rwops.cptr(), C.Uint16(value)))
}
212478
func Len16(x uint16) (n int) {
	if x >= 1<<8 {
		x >>= 8
		n = 8
	}
	return n + int(len8tab[x])
}
1315480
func (e *Encoder) EncodeInt16(n int16) error {
	return e.write2(codes.Int16, uint16(n))
}
832970
func ConvertUint16(str string) (uint16, error) {
	i, err := strconv.ParseUint(str, 10, 16)
	if err != nil {
		return 0, err
	}
	return uint16(i), nil
}
1001554
func (dec *Decoder) Uint16Null(v **uint16) error {
	err := dec.decodeUint16Null(v)
	if err != nil {
		return err
	}
	dec.called |= 1
	return nil
}
934714
func Uint16(name rune, value uint16, helpvalue ...string) *uint16 {
	return CommandLine.Uint16(name, value, helpvalue...)
}
1061387
func (Encoder) AppendUint16(dst []byte, val uint16) []byte {
	return strconv.AppendUint(dst, uint64(val), 10)
}
99903
func (bigEndian) WriteUint16(b *bytes.Buffer, i uint16) {
	b.Write([]byte{uint8(i >> 8), uint8(i)})
}
1287880
func (stream *Stream) WriteUint16(val uint16) {
	q1 := val / 1000
	if q1 == 0 {
		stream.buf = writeFirstBuf(stream.buf, digits[val])
		return
	}
	r1 := val - q1*1000
	stream.buf = writeFirstBuf(stream.buf, digits[q1])
	stream.buf = writeBuf(stream.buf, digits[r1])
	return
}
812489
func (enc *Encoder) WriteInt16(val int16) error {
	return enc.WriteInt(int(val))
}
752099
func (g *Group) Uint16() *Statement {
	// notest
	s := Uint16()
	g.items = append(g.items, s)
	return s
}
740817
func (cmd *baseCommand) WriteUint16(num uint16) (int, error) {
	binary.BigEndian.PutUint16(cmd.dataBuffer[cmd.dataOffset:cmd.dataOffset+2], num)
	cmd.dataOffset += 2
	return 2, nil
}
1337275
func UUID16(i uint16) UUID {
	b := make([]byte, 2)
	binary.LittleEndian.PutUint16(b, i)
	return UUID{b}
}