Why does my FORTRAN code produce a different answer outside of MATLAB than inside of my MEX-file?

1 visualizzazione (ultimi 30 giorni)
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.

Risposta accettata

MathWorks Support Team
MathWorks Support Team il 27 Giu 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;
}

Più risposte (0)

Categorie

Scopri di più su Fortran with MATLAB in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by