This function converts a null-terminated string into a floating-point 8-byte number encoded according to the IEEE754 standard.
The author's opinion is that the software does not appear to be lean and compact. Here is the challenge to the reader. Construct a better optimized isfloat float function. The optimized function may use fewer local variable, eliminate the use of the if-else statement, perform fewer iterations, or use some other technique that will reduce run-time or improve readability. If you have a candidate for an improved isfloat.cpp function then do send a copy to the author of the isfloat posted below. If the submitted function benchmarks better than the function posted immediately below you will be recognized with a public announcement on this page.
In all seriousness this problem has probably been solved already by other people. A web search should reveal solutions posted by others.
Available for download