attribute pure and gcse
Mike M
linux-support@earthlink.net
Mon Apr 5 14:08:00 GMT 2004
On Sat, Apr 03, 2004 at 09:20:40AM -0800, Dara Hazeghi wrote:
>
> P.S. Here's the (fixed) source in question:
>
> static int square(int a) __attribute__ ((pure));
>
> static int square(int a)
> {
> int j=1, k=1;
> while(j!=a)
> {
> k = j*k;
> j++;
> }
> return k;
> }
>
> int main()
> {
> return square(100) * square(100);
> }
k is 1
k is 2
k is 6
k is 24
k is 120
k is 720
k is 5040
k is 40320
k is 362880
k is 3628800
k is 39916800
k is 479001600
k is 1932053504
Perhaps "factorial" instead "square" would be a better name.
100! is a large number requiring special handling.
http://images.amazon.com/images/P/0698117530.01.LZZZZZZZ.gif
try :
static int square(const int a)
{
return a * a;
}
--
Michael Mueller
More information about the Gcc-help
mailing list