From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: highest bit, statically determined
Date: Thu, 04 Oct 2012 04:25:37 -0400
Date: 2012-10-04T04:25:37-04:00 [thread overview]
Message-ID: <854nmaskxq.fsf@stephe-leake.org> (raw)
In-Reply-To: k4ehlq$51p$1@dont-email.me
Brian Drummond <brian@shapes.demon.co.uk> writes:
> On Mon, 01 Oct 2012 23:30:24 +0200, Georg Bauhaus wrote:
>
>> On 01.10.12 10:52, Anatoly Chernyshev wrote:
>>> (0|1=>0,2|3=>1,4..7=>2, 8..15=>3, 16..31=>4,32..63=>5, 64..127=>6,
>>> 128..255=>7);
>>
>> 68580000 2.653934000 68580000 2.021029000 68580000 27.702262000
>> 68580000 1.173348000 -- first_1_bit_table
>>
>> I guess the approaches can be used together for larger N-tets.
>
> Just for completeness,
>
> function first_bit_case(N:Octet) return natural is
> begin
> case N is
> when 0 => return 0;
> when 1 => return 1;
> when 2..3 => return 2;
> when 4..7 => return 3;
> when 8..15 => return 4;
> when 16..31 => return 5;
> when 32..63 => return 6;
> when 64..127 => return 7;
> when others => return 8;
> end case;
> end first_bit_case;
Even better; binary search if/then/else instead of a linear case
statement; that cuts the number of compares significantly, especially
for larger word sizes.
--
-- Stephe
next prev parent reply other threads:[~2012-10-04 8:25 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-29 17:34 highest bit, statically determined Georg Bauhaus
2012-09-29 18:11 ` Pascal Obry
2012-09-29 18:59 ` Georg Bauhaus
2012-09-29 19:18 ` Georg Bauhaus
2012-09-29 18:57 ` Bill Findlay
2012-09-29 19:16 ` Bill Findlay
2012-09-29 21:36 ` Georg Bauhaus
2012-09-29 22:06 ` Georg Bauhaus
2012-09-29 23:38 ` Bill Findlay
2012-09-30 15:01 ` Vadim Godunko
2012-11-04 20:45 ` Yannick Duchêne (Hibou57)
2012-11-04 22:00 ` Bill Findlay
2012-09-30 15:39 ` Anatoly Chernyshev
2012-09-30 18:36 ` Shark8
2012-10-01 8:07 ` Georg Bauhaus
2012-10-01 8:11 ` Georg Bauhaus
2012-10-01 8:52 ` Anatoly Chernyshev
2012-10-01 21:30 ` Georg Bauhaus
2012-10-01 22:55 ` Shark8
2012-10-01 23:25 ` Georg Bauhaus
2012-10-02 11:03 ` Brian Drummond
2012-10-03 9:30 ` kalvink65
2012-10-03 18:54 ` Georg Bauhaus
2012-10-04 7:46 ` Georg Bauhaus
2012-10-04 8:25 ` Stephen Leake [this message]
2012-10-04 10:01 ` kalvin.news
2012-10-05 7:50 ` Anatoly Chernyshev
2012-10-05 8:38 ` Anatoly Chernyshev
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox