|
Message-ID: <20120309102239.GC184@brightrain.aerifal.cx> Date: Fri, 9 Mar 2012 05:22:39 -0500 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: Re: libm On Mon, Mar 05, 2012 at 04:17:11PM +0100, Szabolcs Nagy wrote: > * Rich Felker <dalias@...ifal.cx> [2012-03-05 09:04:59 -0500]: > > On Mon, Mar 05, 2012 at 09:51:35AM +0100, Szabolcs Nagy wrote: > > Hm? If you need a macro to test whether an argument is an integer or > > floating point, try this: > > > > #define __IS_FP(x) !!((1?1:(x))/2) > > > > oh nice > (and subtle) I checked out your latest tgmath.h; it's surprisingly clean and readable! A couple ideas.. 1. __fun could be just fun (macro arguments are free of namespace issues) 2. You could add something like: #ifdef __GNUC__ #define __RETCAST(x) (__typeof__((x)) #else #define __RETCAST(x) #endif Then add __RETCAST((x)), __RETCAST((x)+(y)), etc. Some trick will be needed to make integer types result in a cast to double, though. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.