utils.c
上传用户:shenggui01
上传日期:2022-01-16
资源大小:54k
文件大小:1k
源码类别:

mpeg/mp3

开发平台:

C/C++

  1. /* utils.c
  2.  *
  3.  * 32 bit fractional multiplication. Requires 64 bit integer support.
  4.  */
  5. /* Fractional multiply. */
  6. long mul(long x, long y)
  7. {
  8.   return (long)(((long long)x * (long long)y) >> 32);
  9. }
  10. /* Left justified fractional multiply. */
  11. long muls(long x, long y)
  12. {
  13.   return (long)(((long long)x * (long long)y) >> 31);
  14. }
  15. /* Fractional multiply with rounding. */
  16. long mulr(long x, long y)
  17. {
  18.   return (long)((((long long)x * (long long)y) + 0x80000000) >> 32);
  19. }
  20. /* Left justified fractional multiply with rounding. */
  21. long mulsr(long x, long y)
  22. {
  23.   return (long)((((long long)x * (long long)y) + 0x40000000) >> 31);
  24. }