summaryrefslogtreecommitdiff
path: root/apps/codecs/libatrac/fixp_math.h
diff options
context:
space:
mode:
authorMohamed Tarek <mt@rockbox.org>2009-08-13 21:18:30 +0000
committerMohamed Tarek <mt@rockbox.org>2009-08-13 21:18:30 +0000
commita0092593c968bc8878f26f0be7797c3c12321468 (patch)
tree87f50193fd8d2cda8f8cb20ca0841a5ed4ad9da8 /apps/codecs/libatrac/fixp_math.h
parentb736f26fdcf7d09ffec598182c2c8a1f47c7c6c9 (diff)
downloadrockbox-a0092593c968bc8878f26f0be7797c3c12321468.tar.gz
rockbox-a0092593c968bc8878f26f0be7797c3c12321468.zip
Call the asm definitions of fixmul functions when possible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22303 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libatrac/fixp_math.h')
-rw-r--r--apps/codecs/libatrac/fixp_math.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/apps/codecs/libatrac/fixp_math.h b/apps/codecs/libatrac/fixp_math.h
index 5bfc2c5703..ed72cf6a0f 100644
--- a/apps/codecs/libatrac/fixp_math.h
+++ b/apps/codecs/libatrac/fixp_math.h
@@ -1,4 +1,9 @@
1#include <stdlib.h> 1#include <stdlib.h>
2#ifdef ROCKBOX
3#include "asm_arm.h"
4#include "asm_mcf5249.h"
5#include "codeclib_misc.h"
6#endif
2 7
3/* Macros for converting between various fixed-point representations and floating point. */ 8/* Macros for converting between various fixed-point representations and floating point. */
4#define ONE_16 (1L << 16) 9#define ONE_16 (1L << 16)
@@ -8,7 +13,12 @@
8#define fix31tof64(x) (float)((float)(x) / (float)(1 << 31)) 13#define fix31tof64(x) (float)((float)(x) / (float)(1 << 31))
9 14
10/* Fixed point math routines for use in atrac3.c */ 15/* Fixed point math routines for use in atrac3.c */
11inline int32_t fixdiv16(int32_t x, int32_t y); 16#ifdef ROCKBOX
17#define fixmul31(x,y) (MULT31(x,y))
18#define fixmul16(x,y) (MULT32(x,y))
19#else
12inline int32_t fixmul16(int32_t x, int32_t y); 20inline int32_t fixmul16(int32_t x, int32_t y);
13inline int32_t fixmul31(int32_t x, int32_t y); 21inline int32_t fixmul31(int32_t x, int32_t y);
22#endif /* ROCKBOX */
23inline int32_t fixdiv16(int32_t x, int32_t y);
14inline int32_t fastSqrt(int32_t n); 24inline int32_t fastSqrt(int32_t n);