From: Joshua Colp Date: Wed, 29 Aug 2007 02:21:08 +0000 (+0000) Subject: Add inline function for signed linear subtraction. X-Git-Tag: 1.6.0-beta1~3^2~1593 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=440aab5ffacd1fdc1213605431e9dc46bab04d64;p=thirdparty%2Fasterisk.git Add inline function for signed linear subtraction. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81326 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h index 6f97770d9e..d87ea03395 100644 --- a/include/asterisk/utils.h +++ b/include/asterisk/utils.h @@ -283,6 +283,19 @@ static force_inline void ast_slinear_saturated_add(short *input, short *value) else *input = (short) res; } + +static force_inline void ast_slinear_saturated_subtract(short *input, short *value) +{ + int res; + + res = (int) *input - *value; + if (res > 32767) + *input = 32767; + else if (res < -32767) + *input = -32767; + else + *input = (short) res; +} static force_inline void ast_slinear_saturated_multiply(short *input, short *value) {