lkml.org 
[lkml]   [2001]   [Jul]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: linux/macros.h(new) and linux/list.h(mod) ...

    On 20010705 Davide Libenzi wrote:
    >
    >On 05-Jul-2001 David Woodhouse wrote:
    >>
    >> davidel@xmailserver.org said:
    >>> This patch add a new linux/macros.h that is supposed to host utility
    >>> macros that otherwise developers are forced to define in their files.
    >>> This version contain only min(), max() and abs().
    >>
    >> Consider min(x++,y++). Try:
    >>
    >>#define min(x,y) ({ typeof((x)) _x = (x); typeof((y)) _y = (y); (_x>_y)?_y:_x;
    >>#})
    >>#define max(x,y) ({ typeof((x)) _x = (x); typeof((y)) _y = (y); (_x>_y)?_x:_y;
    >>#})
    >
    >Yep, it's better.

    And there could be others also usefull:

    #define ztst(x,y) (x ?: y) // `x' if that is nonzero; otherwise, of `y'

    If g++ extensions worked in plain C, you just could write:
    #define min(x,y) (x <? y)
    #define max(x,y) (x >? y)

    --
    J.A. Magallon # Let the source be with you...
    mailto:jamagallon@able.es
    Mandrake Linux release 8.1 (Cooker) for i586
    Linux werewolf 2.4.6-ac1 #2 SMP Thu Jul 5 01:15:49 CEST 2001 i686
    -
    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-03-22 12:56    [W:0.024 / U:0.484 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site