Further libdivide tweaks
This commit is contained in:
parent
105534efb8
commit
9c390deacb
|
@ -26,7 +26,13 @@ int fastMap(unsigned long x, int in_min, int in_max, int out_min, int out_max)
|
|||
unsigned int divu10(unsigned int n)
|
||||
{
|
||||
#ifdef USE_LIBDIVIDE
|
||||
return libdivide::libdivide_u32_do(n, &libdiv_u32_10);
|
||||
uint32_t returnVal = 0;
|
||||
|
||||
//Check whether 16 or 32 bit divide is required
|
||||
if( n <= UINT16_MAX ) { returnVal = FAST_DIV16U(n, 10); }
|
||||
else { returnVal = libdivide::libdivide_u32_do(n, &libdiv_u32_10); }
|
||||
|
||||
return returnVal;
|
||||
#else
|
||||
return (n / 10);
|
||||
#endif
|
||||
|
@ -46,7 +52,13 @@ int divs100(long n)
|
|||
unsigned long divu100(unsigned long n)
|
||||
{
|
||||
#ifdef USE_LIBDIVIDE
|
||||
return libdivide::libdivide_u32_do(n, &libdiv_u32_100);
|
||||
uint32_t returnVal = 0;
|
||||
|
||||
//Check whether 16 or 32 bit divide is required
|
||||
if( n <= UINT16_MAX ) { returnVal = FAST_DIV16U(n, 100); }
|
||||
else { returnVal = libdivide::libdivide_u32_do(n, &libdiv_u32_100); }
|
||||
|
||||
return returnVal;
|
||||
#else
|
||||
return (n / 100);
|
||||
#endif
|
||||
|
@ -58,7 +70,7 @@ unsigned long divu100(unsigned long n)
|
|||
unsigned long percentage(byte x, unsigned long y)
|
||||
{
|
||||
#ifdef USE_LIBDIVIDE
|
||||
return libdivide::libdivide_u32_do((y * x), &libdiv_u32_100);
|
||||
return divu100((y * x));
|
||||
#else
|
||||
return (y * x) / 100;
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue