macros and functions
Niels Möller
nisse@lysator.liu.se
03 Mar 2003 21:47:15 +0100
Jason Moxham <J.L.Moxham@maths.soton.ac.uk> writes:
> A simple example of what I want is a fn like
>
> mpz_sizeinbase(mpz_srcptr Z , unsigned long BASE)
>
> most of the time we call this with BASE=2 , so ideally we want a macro which
> can recognize this is a compile time constant and equal to two and so
> replace this with ABSIZ(Z)*GMP_NUMB_BITS+some_bits
You may be able to get some ideas from the section on "Other builtins"
in the gcc manual. In particular __builtin_choose_expr and
__builtin_constant_p.
If you want the same name for the function and the "macro", that may
be easier to do using inline than with the preprocessor.
/Niels