1*f843863dSArend van Spriel // SPDX-License-Identifier: ISC 205491d2cSKalle Valo /* 305491d2cSKalle Valo * Copyright (c) 2010 Broadcom Corporation 405491d2cSKalle Valo */ 505491d2cSKalle Valo 605491d2cSKalle Valo #ifndef _BRCM_QMATH_H_ 705491d2cSKalle Valo #define _BRCM_QMATH_H_ 805491d2cSKalle Valo 905491d2cSKalle Valo #include <types.h> 1005491d2cSKalle Valo 1105491d2cSKalle Valo u16 qm_mulu16(u16 op1, u16 op2); 1205491d2cSKalle Valo 1305491d2cSKalle Valo s16 qm_muls16(s16 op1, s16 op2); 1405491d2cSKalle Valo 1505491d2cSKalle Valo s32 qm_add32(s32 op1, s32 op2); 1605491d2cSKalle Valo 1705491d2cSKalle Valo s16 qm_add16(s16 op1, s16 op2); 1805491d2cSKalle Valo 1905491d2cSKalle Valo s16 qm_sub16(s16 op1, s16 op2); 2005491d2cSKalle Valo 2105491d2cSKalle Valo s32 qm_shl32(s32 op, int shift); 2205491d2cSKalle Valo 2305491d2cSKalle Valo s16 qm_shl16(s16 op, int shift); 2405491d2cSKalle Valo 2505491d2cSKalle Valo s16 qm_shr16(s16 op, int shift); 2605491d2cSKalle Valo 2705491d2cSKalle Valo s16 qm_norm32(s32 op); 2805491d2cSKalle Valo 2905491d2cSKalle Valo void qm_log10(s32 N, s16 qN, s16 *log10N, s16 *qLog10N); 3005491d2cSKalle Valo 3105491d2cSKalle Valo #endif /* #ifndef _BRCM_QMATH_H_ */ 32