Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: berzerk peak meter? Alpha testers wanted.
From: Paul Suade (paul.suade_at_laposte.net)
Date: 2002-09-24


One way to compute log10 :

int fflog10 (unsigned short x)
{
  return ((long long)fflog2(x) * 19728) >> 16;
}

basicaly : log10(x) = log2(x)*log10(2).

i'm planning to generate SH1 assembly for fflog2 and fflog10 to examine its
efficiency and if something can be better done.

----- Original Message -----
From: "Philipp Pertermann" <philipp.pertermann_at_web.de>
To: <rockbox_at_cool.haxx.se>
Sent: Tuesday, September 24, 2002 8:01 AM
Subject: Re: berzerk peak meter? Alpha testers wanted.

> From: "Nielsen Linus (ext)"
>
> > > void generate_log2_table (void)
> > > {
> > > int i;
> > > for(i=0;i<16;i++)
> > > log2_table[i]=(unsigned
> > > short)(65536.0*log(1.0+(((double)i)/16.0))/log(2.0));
> > > }
> >
> > Floating point? No no no!!! Not in this firmware!
>
> Don't worry: thats only for generating the table values. We
> will calculate them offline and put them into an unsigned
> short array of constants.
>
> Paul: Thank you very much. I'll try this.
>
> Phil
>



Page was last modified "Jan 10 2012" The Rockbox Crew
aaa