All of lore.kernel.org
 help / color / mirror / Atom feed
From: Martin Olsen <triplefault@gmail.com>
To: kernel-janitors@vger.kernel.org
Subject: Re: [KJ] powers of 2, and the boundary case of zero
Date: Wed, 10 Jan 2007 11:50:56 +0000	[thread overview]
Message-ID: <200701101250.56371.triplefault@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0701090539520.7476@localhost.localdomain>

[-- Attachment #1: Type: text/plain, Size: 1586 bytes --]

On Wednesday 10 January 2007 09:25, you wrote:
> On Tue, 9 Jan 2007, Martin Olsen wrote:
> > On Tuesday 09 January 2007 19:57, Robert P. J. Day wrote:
> > > so ... who's up for it?
> >
> > I'd love to take a crack on this.
> >
> > I have yet to submit my first patch to The Kernel so if anyone would
> > like to support me while doing this it would be great.
>
> to help you get things going, i've attached my style.sh script, which
> scans the source tree to find questionable constructs that might
> represent possible cleanups.  in the attached version, i've commented
> out every check except for the power of 2 stuff, so you can see the
> potential for cleanup.
>
> (note how i've specifically scanned for the four similar variations of
> the test, depending on the possibility for parentheses.  if someone
> knows a better way to express these patterns that would handle
> matching parentheses (without getting into perl, that is), i'd love to
> hear it.)
>
> note how almost all of the tests are just one of those variations.  a
> couple notes:
>
> 1) ignore the FIND_FIRST_BIT macro in cardbus.c -- i've already
> submitted a patch to delete that entirely, it's useless.
>
> 2) for the time being, don't mess with anything related to powerpc --
> i get the impression they do things differently there so just give
> that a pass for now.
>
>   first things first, though -- let's see a proposed power_of_2.h
> header file with inline functions:
>
>   is_power_of_2(x)
>   round_up_to_power_of_2(x)
>   round_down_to_power_of_2(x)
>
> rday

What do you say to this patch?

Martin

[-- Attachment #2: patch --]
[-- Type: text/x-diff, Size: 668 bytes --]

diff -uprN -X linux-2.6.19-vanilla/Documentation/dontdiff linux-2.6.19-vanilla/include/linux/power_of_2.h linux-2.6.19-changed/include/linux/power_of_2.h
--- linux-2.6.19-vanilla/include/linux/power_of_2.h	1970-01-01 01:00:00.000000000 +0100
+++ linux-2.6.19-changed/include/linux/power_of_2.h	2007-01-10 12:42:03.000000000 +0100
@@ -0,0 +1,20 @@
+static inline bool is_power_of_2(int i)
+{
+	return i > 0 && (i & (i - 1)) == 0;
+}
+
+static inline int round_up_to_power_of_2(int i)
+{
+	while ((i & (i - 1)) != 0)
+		i += i & ~(i - 1);
+	
+	return i;
+}
+
+static inline int round_down_to_power_of_2(int i)
+{
+	while (i & (i - 1))
+		i &= (i - 1);
+	
+	return i;
+}

[-- Attachment #3: Type: text/plain, Size: 168 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors

  parent reply	other threads:[~2007-01-10 11:50 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-09 11:18 [KJ] powers of 2, and the boundary case of zero Robert P. J. Day
2007-01-09 12:16 ` Richard Knutsson
2007-01-09 12:25 ` Robert P. J. Day
2007-01-09 13:01 ` Richard Knutsson
2007-01-09 13:04 ` Robert P. J. Day
2007-01-09 13:57 ` Darren Jenkins
2007-01-09 14:27 ` Robert P. J. Day
2007-01-09 14:39 ` Jaco Kroon
2007-01-09 14:42 ` Robert P. J. Day
2007-01-09 14:46 ` Robert P. J. Day
2007-01-09 15:25 ` Darren Jenkins
2007-01-09 15:27 ` Robert P. J. Day
2007-01-09 16:16 ` Robert P. J. Day
2007-01-09 17:31 ` Randy Dunlap
2007-01-09 18:57 ` Robert P. J. Day
2007-01-09 20:03 ` Arnaldo Carvalho de Melo
2007-01-09 22:41 ` Martin Olsen
2007-01-10  6:08 ` Robert P. J. Day
2007-01-10  8:25 ` Robert P. J. Day
2007-01-10 11:50 ` Martin Olsen [this message]
2007-01-10 12:12 ` Jaco Kroon
2007-01-10 13:31 ` Martin Olsen
2007-01-10 13:36 ` Robert P. J. Day
2007-01-10 13:40 ` Robert P. J. Day
2007-01-10 13:51 ` Robert P. J. Day
2007-01-10 13:53 ` Robert P. J. Day
2007-01-10 15:25 ` Martin Olsen
2007-01-10 15:40 ` Robert P. J. Day
2007-01-10 16:44 ` Darren Jenkins
2007-01-10 17:53 ` Martin Olsen
2007-01-10 18:04 ` Robert P. J. Day
2007-01-10 18:29 ` Martin Olsen
2007-01-10 19:44 ` Alexey Dobriyan
2007-01-10 23:01 ` Paul Bonser
2007-01-10 23:30 ` Paul Bonser
2007-01-11  2:06 ` Darren Jenkins
2007-01-11  4:33 ` Robert P. J. Day
2007-01-11  6:41 ` Jaco Kroon
2007-01-11  6:44 ` Robert P. J. Day
2007-01-11  9:30 ` Robert P. J. Day
2007-01-11 11:37 ` Paul Bonser
2007-01-11 11:40 ` Paul Bonser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200701101250.56371.triplefault@gmail.com \
    --to=triplefault@gmail.com \
    --cc=kernel-janitors@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.