Keith -
Thanks for taking advantage of the Developer Exchange forum. I have been looking over your situation and I would definitely agree that the behavior you are reporting is strange and unexpected.
I am curious, though, as you mentioned that all reals are defined as doubles in both languages (I'm assuming here that you mean the original Fortran code and the CVI code that is now calling the DLL) but that the results differ at the single precision level. Does this mean that you are casting the data types? If so, where are you doing this (the DLL or the calling program)?
Also, have you been able to reproduce this in another ANSI C compiler?
I would say that the best way to address this problem is likely to write in to support@ni.com. I would consid
er including a CVI project that calls the DLL that you have created, as well as an idea of the results that you are expecting based on the pure Fortran testing. If we are able to reproduce this on our end as well, it will be much easier to identify the exact source of the behavior.
I wish that I had a more concrete solution for you at this moment. However, I feel confident that once we are able to see exactly what is going on, we will be able to provide you with a working solution.
Thanks again for using this forum.
Best Regards,
Greg Wempe
Applications Engineer
National Instruments
http://www.ni.com/ask