問題タブ [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.

0 投票する
1 に答える
283 参照

scala - pidigits の GMPUtil の scala の使用

Rex Kerr は、特に pidigits プログラムを実行するために、scala で GMP を使用することに関する情報を投稿しました。libjpargmp.so は GmpUtil.c を使用して生成されます

私の質問は: GMPUtil.c はどこにありますか? 私のグーグル検索では何も見つかりませんでした。

よろしく、ダグ

0 投票する
1 に答える
242 参照

php - gmp_mod が異なるプラットフォームで異なる結果を生成するのはなぜですか?

このスニペットを検討してください( How is 13 % 64= -13に関連)

私のWin7、x64では、これにより生成されます

http://codepad.viper-7.com/gqN5aaでは 51 しか生成されないため、これは奇妙です。

gmp_modPHP Bugtracker でのバグを見つけることができませんでした。しかし、マニュアルページにも、考えられるさまざまな結果を示唆するものは何もありません。そして、なぜそれが異なる結果を生み出すべきなのかわかりません。

上記のコード スニペットを実行し、使用しているオペレーティング システムと CPU アーキテクチャと共に出力を投稿してください。私のマシンだけが動作していないことを確認できます。

また、これが既知の問題なのか、予想される動作なのかがわかっている場合は、バグトラッカーのリンクを教えてください。それ以外の場合は、収集した結果でバグを開きます。

ありがとう!

PS このために CW を要求する必要があるかどうか教えてください。それ以外の場合は、バグトラッカーへのリンクを回答として掲載します (誰かが説得力のある説明を思いつかない限り)。

0 投票する
2 に答える
921 参照

c++ - GNUMPを使用してbase10の対数を見つける方法

C++ で問題に直面しています。標準の C++ double よりも正確な double が必要です。(C++ long double でも十分ではありません) そう.. 私を満足させる GNUMP を見つけました.. しかし..

与えられた数の10を底とする対数を見つける方法.

0 投票する
1 に答える
525 参照

c++ - BigInt 変換 (gmp Bigint からボタン bigint)

gmp を使用して複雑な操作を実行しています。Botan を使用して暗号化機能を実行したいと考えています。問題は、どちらも独自の Bigint 関数を持っていることです。そのため、gmp 関数で使用される bigint 値を Botan 関数に提供する際に問題が発生します。

誰でもこれを手伝ってもらえますか?

0 投票する
0 に答える
752 参照

c++ - win xP SP2 の下で QT で gmp ライブラリを使用する際の問題

Windows XP SP2 の Qt プロジェクトで GMP ライブラリを使用すると問題が発生します。

Qt アプリケーションを実行すると、動作する場合と動作しない場合があります。アプリケーションがクラッシュすると、「Microsoft Visual C++ ランタイム ライブラリ ランタイム エラー」というメッセージとともに警告が表示されるか、数分間ハングします。時々動作します(そしてエラーはありません)

ここにいくつかの詳細があります:

私は QT バージョン 4.3.2 (オープンソース) コンパイラを使用しました: mingw32 バージョン: GNU Make 3.80 GCC: 3.4.5 (mingw スペシャル) G++: 3.4.5 (mingw スペシャル) gmp 4.3.2 私の CPU タイプ:x86 ファミリー

MSYS 1.0.11 を使用して、次のように GMP ライブラリを正常にコンパイルしました。

./configure --prefix=/gmp/install --enable-cxx

作る

インストールする

これが私のQt pro.fileの内容です:

これは、GMP ライブラリを使用した Qt のアプリケーション関数の一部です。

問題を追跡した後、私の問題はnilaiz.get_str(exponent, 10, 0)関数を呼び出したmpf_get_str関数にあることがわかりましたgmpxx.h

アプリケーションから (関数を呼び出さずにnilaiz.get_str(exponent, 10, 0)) 削除すると、アプリケーションはエラーなしで正常に動作します。

mpf_t zしかし、その関数をQString(Qt の文字列または)に変換する必要がありますchar *

なぜこれが起こるのですか?次に何をすべきですか?または、GMP ライブラリをコンパイルするときに何か不足していますか、または GMP を構成するときに xtra オプションを追加する必要がありますか、またはその機能を使用するバグがありますか?

助けや提案が必要です。ありがとうございました!

よろしくお願いします

aansd

0 投票する
5 に答える
25700 参照

windows - 64ビットWindowsでGMPを構築する

「WindowsプラットフォームのGMPインストール手順」の手順に従いました。VisualStudioで使用できる32ビットバージョンのGMPを作成できました。

次に、mingw_w64とmsysを別のマシン(64ビットWindowsを実行している)にインストールして、コマンドを再実行しました。

./configureは問題なく実行されました。しかし、「make」を実行すると、次のようになります。

代わりに「gmake」を使用すると、次のエラーが表示されました。

私はC++makeに精通していません。64ビット用にビルドしていることをmingw_w64に通知するには、フラグを指定する必要がありますか?ありがとう。

0 投票する
1 に答える
1145 参照

gmp - Visual C++ 2010 を使用した MPIR のコンパイル

コマンド ラインから MPIR (Windows 向けの GMP フォーク) をコンパイルしようとしています。私のセットアップはかなり標準的な Windows Vista 32 ビット、Visual C++ 2010 Express Edition であり、IDE を使用するのではなく、完全に標準的な 32 ビットの静的ライブラリ ビルドを使用するつもりです。Google検索で見つけた情報には次のように書かれています:

  1. 適切なバージョンの yasm をインストールします。
  2. build.vc10 に入ります
  3. 構成.bat
  4. Make.bat

ステップ 3 まではうまくいっているように見え、ステップ 4 で最初の障害を乗り越えることができましたが、make.bat の次の行でつまずきます。

私が実行した検索で判断できる限り、ディレクトリ ツリー全体のどこにも gen-mpir はなく、そのようなものへの他の参照もありません。私は何が欠けていますか?

0 投票する
2 に答える
1665 参照

php - GMP ビット シフトは負の数では機能しません

この関数は php.net で見つけました。正の数では機能するようですが、負の数では失敗します:

ネガで機能するように機能を修正するにはどうすればよいですか?

私が持っている2つのアイデア:

多分私はの線に沿って何かをすることができます

または、その値に応じて、負の結果から何かを差し引くことができるかもしれません..?

>> が与える値を取得したいだけでなく、GMP を使用するときに 32 ビットを超える数値でも取得したいのです。

0 投票する
3 に答える
878 参照

c - typedef の単一インスタンス配列に関するいくつかの質問

GNU Multi-Precision (GMP) ライブラリ コードを使用して、任意の長さの整数を使用するコードを調べていました。MP 整数の型はmpz_t、gmp.h ヘッダー ファイルで定義されているとおりです。

しかし、このライブラリ定義mpz_t型の下位レベルの定義についていくつか質問があります。ヘッダー コード内:

最初の質問: は と[1]関連してい__mpz_structますか? つまり、型を 1 回出現する配列としてtypedef定義しているのでしょうか。mpz_t__mpz_struct

2 番目の質問: なぜ配列なのか? (そして、なぜ 1 回しか発生しないのですか?) これは私が聞いた構造体ハックの 1 つですか?

3 番目の質問 (おそらく 2 番目の質問に間接的に関連している):mpz_init_set(mpz_t, unsigned long int)関数の GMP ドキュメントでは、値渡しのみとして使用するように指示されていますが、この関数は呼び出された関数内の内容を変更していると想定されます (したがって、参照渡し) 構文。私のコードを参照してください:

単一出現配列は、参照渡しを自動的に有効にしますか (C の配列/ポインターのセマンティクスが壊れているため)? 私はこれを少し分析しすぎていることを率直に認めますが、これについての議論が大好きです. ありがとう!

0 投票する
1 に答える
5444 参照

c++ - GMP整数の桁数

GMP整数の桁数を決定する簡単な方法はありますか? ログから判断できることは知っていますが、ライブラリに組み込まれているものが欠けているのではないかと思っていました。マニュアルで見つけた唯一のことは次のとおりです。

_mp_size 四肢の数、または負の整数を表す場合はその負数。ゼロは、ゼロに設定された _mp_size によって表されます。この場合、_mp_d データは使用されません。

しかし、私が探しているものとはかなり違うという印象を受けています。

すなわち

124839 = 6 桁。