問題タブ [gmp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
visual-c++ - MinGW ライブラリを Windows ライブラリに変換すると、VC++6 で奇妙なリンクが表示される
以下のように、gmp-discuss リストのスレッドで詳しく説明されているように、MinGW.a
から Windowsへの変換プロセスを使用しました (--disable-shared --enable-static で作成されたライブラリに対して作用します)。.lib
私は今、.lib
VC++6 が問題なくリンクできるように見えるファイルを持っています。今私が懸念しているのは、リンク フェーズから得られる警告メッセージです。
手順のこの時点では、これらは私の DLL (特定の GMP 機能をラップする) の実行に違いはありません。しかし、それで十分ですか?これらの 3 つのシンボルをlibgmp.a
Windows DLL にリンクすると、後で噛み付くことになりますか?
visual-c++ - gmp でフロートを追加すると、「正しい」結果が得られます。
以下のコードでmpf_add
は、2 つの浮動小数点値の文字列表現を追加するために使用しています。この時点で私が理解していないのは、その理由2.2 + 3.2 = 5.39999999999999999999999999999999999999
です。gmp
を与えるのに十分賢いと思っていたでしょう5.4
。
gmp がどのようにフロートするかについて、私は何を理解していませんか?
(ところで、これを最初に書いたとき、小数点を挿入する方法がわからなかったので、最後にプラス/マイナスの数字が入ります)
c - GMP を使用して 2 ^ -18 を計算するにはどうすればよいですか?
恥ずかしいことに、負の指数を に与えるとmpz_pow_ui
うまくいかないことがわかりました。(「マニュアルには unsigned long と書かれていますね。」) 他のmpz_pow
機能については、マニュアルは私が理解できない概念を使用しています。たとえば、次の「base ^ exp mod mod」:
次のコードで、負の指数を処理できるようにするには、何を変更する必要がありますか?
c - GMP は先頭の "+" に対応できませんか?
次のコードを検討してください
最初のインスタンスでは、mpf_get_str 呼び出しの後、buff に "123" が含まれています。2 番目の buff には「-123」が含まれています。しかし、3 番目の buff には空の文字列 ("") が含まれています。
これは GMP 4.2.4 を使用しています。もう一度マニュアルを調べる必要があるかもしれませんが、先頭の「+」は先頭の「-」と同じくらい簡単に処理されると思っていたでしょう。
c - 前または後にGMPで仮数精度オーバーフローを検出する方法は?
私が尋ねるつもりだった質問は、指数ではなく仮数に関するものであり、2 つの負の浮動小数点数の合計の「欠落」桁に関して週の初めに私が尋ねた質問と多くの関係があります。
仮数の精度が可変であることを考えると、仮数の現在の精度設定をオーバーフローしたかどうかはどうすればわかりますか? または、予防的な側面から、仮数の精度のオーバーフローが発生する可能性があるかどうかをどのように判断できますか?
よろしく、ブルース。
visual-c++ - calloc されたメモリを解放すると VC6 プロジェクトがクラッシュするのはなぜですか?
これら 2 つのほぼ同一の関数を比較します。最初に、buff
_alloca を使用してメモリが割り当てられます。これはうまくいきます。2 番目の例では、_alloca の代わりに calloc と free が使用されています。これはクラッシュします。
奇妙なことは、私が持っている他のほぼすべての GMP ラッピング関数で calloc/free 手法を使用し、それらがすべて機能することです。ここではそうではありません。何か案は?
1:
2:
c++ - Visual Studio で GMP ライブラリを構築していますか?
Visual Studio 2005 を使用して Windows でGMP (GNU Multiple Precision Arithmetic Library、http://gmplib.org ) を構築する簡単な方法はありますか? 自分でライブラリを構築するための情報を見つけようとしましたが、本当に役立つものは見つかりませんでした。私は自分でライブラリを構築する経験があまりありません (boost を構築することはできましたが、それだけです)。
それとも、私が知らない安定した (ビルド済みの) GMP ディストリビューションはありますか?
MPIR は有効な代替手段 ( http://www.mpir.org ) ですか? GMP サイトの MPIR に関するコメント: この「怒りの GMP フォーク」は、一部の Windows ユーザーにとっては実際の GMP の代わりになるかもしれませんが、多くの反 GMP 感情に対処する必要があります。
編集: MPFR C++ ラッパー ページには、Visual Studio およびコンパイルされた gmp/mpfr ライブラリ用の GMP/MPFR ソリューションへの情報/リンクも含まれています: http://www.holoborodko.com/pavel/mpfr/