> Too late. I'm going there... :)
Good for you. I was hoping transformations could make it :)

Here's something I was wondering. Say you wanted to write a pow() macro 
(from a previous example) that would forward to C's pow() unless the 
exponent was an integer, in which case it would optimize to many *'s. If 
it was called like so:

pow(2.718, 2 * 6 / 3)

Then the macro would not recieve 4 as the second argument, rather 2*6/3 in 
syntax tree form. Would the macro have to do its own constant folding? I 
hope not. So how could it check whether this thing was an integer? How 
could it differentiate that from pow(2.718, 2 * 6 / 5) ?  Or would any 
constant folding take place before it was passed to the macro?

Luke

Reply via email to