29#if !defined(_GSM0610_LOCAL_H_) 
   30#define _GSM0610_LOCAL_H_ 
   32#define GSM0610_FRAME_LEN               160 
   34#define GSM0610_MAGIC                   0xD 
   36#include "spandsp/private/gsm0610.h" 
   38static __inline__ int16_t gsm_add(int16_t a, int16_t b)
 
   40#if defined(__GNUC__)  &&  (defined(__i386__)  ||  defined(__x86_64__)) 
   55    sum = (int32_t) a + (int32_t) b;
 
   61static __inline__ int32_t gsm_l_add(int32_t a, int32_t b)
 
   63#if defined(__GNUC__)  &&  (defined(__i386__)  ||  defined(__x86_64__)) 
   67        " movl $0x7fffffff,%0;\n" 
   83        A = (uint32_t) -(a + 1) + (uint32_t) -(b + 1);
 
   84        return  (A >= INT32_MAX)  ?  INT32_MIN  :  -(int32_t) A - 2;
 
   90    A = (uint32_t) a + (uint32_t) b;
 
   91    return  (A > INT32_MAX)  ?  INT32_MAX  :  A;
 
   96static __inline__ int16_t gsm_sub(int16_t a, int16_t b)
 
  100    diff = (int32_t) a - (int32_t) b;
 
  101    return  saturate(diff);
 
  105static __inline__ int16_t gsm_mult(int16_t a, int16_t b)
 
  107    if (a == INT16_MIN  &&  b == INT16_MIN)
 
  110    return  (int16_t) (((int32_t) a * (int32_t) b) >> 15);
 
  114static __inline__ int32_t gsm_l_mult(int16_t a, int16_t b)
 
  116    assert (a != INT16_MIN  ||  b != INT16_MIN);
 
  117    return  ((int32_t) a * (int32_t) b) << 1;
 
  121static __inline__ int16_t gsm_mult_r(int16_t a, int16_t b)
 
  125    if (b == INT16_MIN  &&  a == INT16_MIN)
 
  128    prod = (int32_t) a * (int32_t) b + 16384;
 
  130    return  (int16_t) (prod & 0xFFFF);
 
  134static __inline__ int16_t gsm_abs(int16_t a)
 
  136    return  (a == INT16_MIN)  ?  INT16_MAX  :  (int16_t) abs(a);
 
  140static __inline__ int16_t gsm_asr(int16_t a, 
int n)
 
  143        return  (int16_t) (-(a < 0));
 
  149        return (int16_t) (a << -n);
 
  151    return  (int16_t) (a >> n);
 
  155static __inline__ int16_t gsm_asl(int16_t a, 
int n)
 
  161        return  (int16_t) (-(a < 0));
 
  164        return  gsm_asr(a, -n);
 
  166    return  (int16_t) (a << n);
 
  213extern int16_t gsm0610_norm(int32_t a);
 
Definition private/gsm0610.h:34