1
0
Fork 0
forked from len0rd/rockbox

FS#12146: Fix libcook bugs introduced in r22055 by Sean Bartell.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29973 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Nils Wallménius 2011-06-05 13:12:51 +00:00
parent 9f65f2b6ad
commit 965113ed50
4 changed files with 38 additions and 5 deletions

View file

@ -65,6 +65,7 @@ static inline int32_t MULT32(int32_t x, int32_t y) {
magic.whole = (int64_t)x * y;
return magic.halves.hi;
}
static inline int32_t MULT31(int32_t x, int32_t y) {
return MULT32(x,y)<<1;
}
@ -75,6 +76,12 @@ static inline int32_t MULT31_SHIFT15(int32_t x, int32_t y) {
return ((uint32_t)(magic.halves.lo)>>15) | ((magic.halves.hi)<<17);
}
static inline int32_t MULT31_SHIFT16(int32_t x, int32_t y) {
union magic magic;
magic.whole = (int64_t)x * y;
return ((uint32_t)(magic.halves.lo)>>16) | ((magic.halves.hi)<<16);
}
#else
/* 32 bit multiply, more portable but less accurate */