Loading lib_com/basop_util.c +35 −0 Original line number Diff line number Diff line Loading @@ -1066,6 +1066,41 @@ Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, Word32 y, Word16 *s ) return z; } /*1bit HR in x > 0*/ Word32 BASOP_Util_Divide3232_Scale_cadence_1( Word32 x, Word32 y, Word16 *s ) { Word32 z; //Word16 sx; Word16 sy; Word32 sign; /* assert (x >= (Word32)0); */ assert( y != (Word32) 0 ); sign = 0; move16(); IF( y < 0 ) { y = L_negate( y ); sign = L_xor( sign, 1 ); } sy = norm_l( y ); y = L_shl( y, sy ); move16(); *s = add( 0, sy ); move16(); z = div_w( x, y ); if ( sign != 0 ) { z = L_negate( z ); } return z; } Word16 BASOP_Util_Divide3232_Scale( Word32 x, Word32 y, Word16 *s ) { Word16 z; Loading lib_com/basop_util.h +4 −0 Original line number Diff line number Diff line Loading @@ -332,6 +332,10 @@ Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, /*!< i : Numerator*/ Word32 y, /*!< i : Denominator*/ Word16 *s ); /*!< o : Additional scalefactor difference*/ Word32 BASOP_Util_Divide3232_Scale_cadence_1( Word32 x, /*!< i : Numerator*/ Word32 y, /*!< i : Denominator*/ Word16 *s ); /*!< o : Additional scalefactor difference*/ /************************************************************************/ /*! Loading Loading
lib_com/basop_util.c +35 −0 Original line number Diff line number Diff line Loading @@ -1066,6 +1066,41 @@ Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, Word32 y, Word16 *s ) return z; } /*1bit HR in x > 0*/ Word32 BASOP_Util_Divide3232_Scale_cadence_1( Word32 x, Word32 y, Word16 *s ) { Word32 z; //Word16 sx; Word16 sy; Word32 sign; /* assert (x >= (Word32)0); */ assert( y != (Word32) 0 ); sign = 0; move16(); IF( y < 0 ) { y = L_negate( y ); sign = L_xor( sign, 1 ); } sy = norm_l( y ); y = L_shl( y, sy ); move16(); *s = add( 0, sy ); move16(); z = div_w( x, y ); if ( sign != 0 ) { z = L_negate( z ); } return z; } Word16 BASOP_Util_Divide3232_Scale( Word32 x, Word32 y, Word16 *s ) { Word16 z; Loading
lib_com/basop_util.h +4 −0 Original line number Diff line number Diff line Loading @@ -332,6 +332,10 @@ Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, /*!< i : Numerator*/ Word32 y, /*!< i : Denominator*/ Word16 *s ); /*!< o : Additional scalefactor difference*/ Word32 BASOP_Util_Divide3232_Scale_cadence_1( Word32 x, /*!< i : Numerator*/ Word32 y, /*!< i : Denominator*/ Word16 *s ); /*!< o : Additional scalefactor difference*/ /************************************************************************/ /*! Loading