none
Floating point Status Word setting

    質問

  • HI,

    Is there any API in visual studio which allows to set the floating point status word?

    I want to check whether my code generates any FPU exceptions and thought of doing it as below

    1. extract the current status word and clear it.

    2. run my code

    3. check the status

    4. restore the status word

     I could achieve 1-3 by  using _clearfp() and _statusfp(). but didn't find a API to do 4.  

    Is there any way I can execute 4.(I'm using visual studio 2010 C++)

    Thanks in advance

    2017年4月6日 3:03

回答

  • 立花様、

    いつもお世話になっております。

    お返事遅くなり申し訳ありません。
    本件につきましてですが、解決できましたのでご連絡させていただきます。

    浮動小数点例外発生状態レジスタを書き込むAPIがVisual Studio(2012)で用意されていないことが分かりました。
    ただ、アセンブラコードを使用し読み書きできますが、64-bitの場合サポートされませんとのことです。

    以上、よろしくお願いいたします。


    • 回答としてマーク nayakroshan 1 時間 51 分前
    1 時間 52 分前

すべての返信

  • Use _controlfp() to set new value.
    2017年4月6日 3:19
  • Thank you for your reply.

    I tried _controlfp() too. but it doesn't restore the status word. It sets the control word register.

    In other words, if I do step 4 using _controlfp(NEW_STSTUS, 0) and then check the status using _statusfp(), the status is not updated ie it's not set to NEW_STATUS.

    Please correct me if I'm wrong.

    2017年4月6日 3:35
  • nayakroshan さん、こんにちは。
    フォーラム オペレーターの立花楓です。

    本件について、その後いかがでしょうか。
    ご投稿いただいているフォーラムは日本の MSDN フォーラムとなりますので、英語でご質問をいただいても情報が集まりにくいかと思います。

    より多くの情報を共有するためにも、米国 (US) の MSDN フォーラムでご質問いただければと思います。

    MSDN Forums(United States)
    https://social.msdn.microsoft.com/forums/en-us/home

    ご検討いただけましたら連絡をいただけますと幸いです。

    よろしくお願いいたします。


    MSDN/TechNet Community Support 立花楓

    2017年4月20日 6:07
    モデレータ
  • 立花様、

    いつもお世話になっております。

    お返事遅くなり申し訳ありません。
    本件につきましてですが、解決できましたのでご連絡させていただきます。

    浮動小数点例外発生状態レジスタを書き込むAPIがVisual Studio(2012)で用意されていないことが分かりました。
    ただ、アセンブラコードを使用し読み書きできますが、64-bitの場合サポートされませんとのことです。

    以上、よろしくお願いいたします。


    • 回答としてマーク nayakroshan 1 時間 51 分前
    1 時間 52 分前