lkml.org 
[lkml]   [2005]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: A pettiness question.
    On Wed, 21 Sep 2005, Ustyugov Roman wrote:

    > > Hi, All.
    > >
    > > I found there are use double operator ! continuously sometimes in
    > > kernel.
    > > e.g:
    > >
    > > static inline int is_page_cache_freeable(struct page *page)
    > > {
    > > return page_count(page) - !!PagePrivate(page) == 2;
    > > }
    > >
    > > Who would like tell me why write like above?
    > >
    > >
    > > Thanks in advanced.
    > >
    > >
    > > Liyu
    >
    > For example,
    >
    > int test = 5;
    > !test will be 0, !!test will be 1.
    >
    > This give a enum of {0,1}. If test is not 0, !!test will give 1, otherwise 0.
    >
    > Am I right?

    Yes. I think of it as a "truth value" predicate (or operator).

    --
    ~Randy
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-09-21 17:10    [W:0.021 / U:2.052 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site