[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GURU NEEDED : macro SQUARE(x) for any type x
From: |
Rivka Miller |
Subject: |
Re: GURU NEEDED : macro SQUARE(x) for any type x |
Date: |
Thu, 13 Jan 2011 23:10:00 -0800 (PST) |
User-agent: |
G2/1.0 |
On Jan 13, 10:46 pm, bolega <gnuist...@gmail.com> wrote:
> Basically, I have spent a few hours experimenting and searching on the
> comp.lang.c/c++
>
> Let me use SQR for brevity and saving line
>
> Here are progressively refined macros :
>
> #define SQR(x) ((x)*(x))
>
> #define SQR(x) ({typedef xtype=x; xtype xval=x; xval*xval}) // NOTE,
> closure or {} inside () is a valid idea in C, and thus no return is
> needed.
>
> this macro is given in several posts like
>
> http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/38ef2...
>
> there is a problem with typedef
>
> Bolega
try if this works
#define square(x) ({typeof(x) temp=x; temp*temp;})
Rivka