[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GURU NEEDED : macro SQUARE(x) for any type x
From: |
Gert-Jan de Vos |
Subject: |
Re: GURU NEEDED : macro SQUARE(x) for any type x |
Date: |
Fri, 14 Jan 2011 00:51:43 -0800 (PST) |
User-agent: |
G2/1.0 |
On Jan 14, 7:46 am, 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
Why not just an inline function template (this being c.l.c++)?
template <typename T>
inline T square(T value)
{
return value*value;
}
Gert-Jan