MATLAB Answers

How to change Floating Point Control Word (FPCW) in MATLAB?

5 views (last 30 days)
Fred
Fred on 3 Sep 2015
Edited: bel yon on 15 Aug 2020
Hello All,
Does anyone knows how to change Floating Point Control Word (FPCW) in MATLAB, either increase or decrease it?
I'm using MATLAB15a.
Thanks,

Answers (2)

Walter Roberson
Walter Roberson on 3 Sep 2015
Edited: Walter Roberson on 4 Sep 2015
You can find more information about system_dependent on undocumentedmatlab.com .
Note: system_dependent only allows float control in MS Windows.

  4 Comments

Show 1 older comment
Steven Lord
Steven Lord on 12 Aug 2020
bel yon, why do you need or want to change the floating point control word?
bel yon
bel yon on 15 Aug 2020
Thank you for the quick response. It seems that the MATLAB's precision must be only 24, 53 or 64?
I am using the MATLAB COM interface for OpenDSS, where OpenDSS uses 80-bit floating-point values. more detailes in the discussion: https://sourceforge.net/p/electricdss/discussion/861976/thread/d3d147ec/#c3a2

Sign in to comment.


Fred
Fred on 4 Sep 2015
I have seen the link but I could not quite get what should I do, and also the thing they are doing it in C but I'm using pure Matlab, I need something more like for normal MATLAB users.

  2 Comments

Walter Roberson
Walter Roberson on 4 Sep 2015
You will need to be specific about which operating system you are using and which possibilities you want the user to be able to select.
The documentation that I am scanning indicates that the FPCW handles only the x87 FPU calculations, and that these days a lot of calculations are done in SSE and SSE2 instructions which use a different control register http://developer.amd.com/community/blog/2009/07/06/ieee-floating-point-exception-handling-in-windows-os/ . MATLAB calls into highly optimized libraries for larger calculations, and those optimized libraries are likely to be using SSE* or whatever post-x87 they can leverage because x87 performance is not scalable. If you adjust the FPCW you run into the possibility that the output behavior you see will depend upon the size of your data in ways that are not intuitive, with "small" calculations being affected (because they might run on x87) and "big" calculations not being affected (because they run on higher performance architectures, possibly even GPUs.)
Steven Lord
Steven Lord on 4 Sep 2015
If you're using "pure Matlab[sic]" then you shouldn't really NEED to fiddle with the FPCW. What is your use case for doing so?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!