utils.c
Upload User: shenggui01
Upload Date: 2022-01-16
Package Size: 54k
Code Size: 1k
Category:

mpeg mp3

Development Platform:

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. }