Why does my FORTRAN code produce a different answer outside of MATLAB than inside of my MEX-file?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
When I run my FORTRAN code as a standalone executable, I receive a different answer than when the same code is called from inside my MEX-file.
Akzeptierte Antwort
MathWorks Support Team
am 27 Jun. 2009
This is due to how MATLAB sets up the floating-point operations in the CPU at startup, and is not a bug in MATLAB.
If you use the following C code in your FORTRAN program, you should see the same answers:
void ResetFPU()
{
const static int CtrlWord=0x123f;
__asm fninit //initialize fpu
__asm fnclex // clear fpu exceptions
__asm fldcw CtrlWord // Load_FPU_Control_Word;
}
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Fortran with MATLAB finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!