1f843863dSArend 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