On Tuesday, September 17, 2002, at 09:06 , Dick Applebaum wrote:
> for
> (X.set(((java.lang.Object)("1")));_compare(this._autoscalarize(X),100000
> 0.0)<=0;X.set(coldfusion.runtime.Cast._Object((coldfusion.runtime.Cast._
> double(this._autoscalarize(X)))+(1.0)))){{
Note the assumption that all numbers in CF are (potentially) floating
point! CF doesn't have a built-in 'int' type so there is no way to tell
the compiler not to do the more complicated stuff... except... well...
many years ago (when I was working in the compiler industry) I worked on a
deep-flow code analyzer that could track values (and types) and make
optimizations based on what it found... That sort of analysis *could*
determine that x and loops were set to integers and adjust the code
accordingly... however, it would need to introduce alias variables (of
type 'int') that shadowed the real values and then determine that it could
hoist the real/shadow synchronization out of the loop. This sort of stuff
is *hard*... You have to consider 'threats' to variables that are being
shadowed (i.e., anything that could change their value that isn't part of
the mainline code, e.g., a function call - which could set caller.x = 123.
45).
"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood
______________________________________________________________________
Your ad could be here. Monies from ads go to support these lists and provide more
resources for the community. http://www.fusionauthority.com/ads.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists