問題タブ [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 投票する
2 に答える
886 参照

c - mpfr_t の型と、この型の C 関数を作成するにはどうすればよいですか?

GMP と MPFR を使い始めたばかりです。私は C でプログラムを書いており、(たとえば) 入力として mpfr_t 変数を取り、mpfr_t 変数を返す関数を作成したいと考えています。mpfr_t の定義はよくわかりませんが、単純にこれを実行してコンパイル エラーが発生しました。

これに関する情報は大歓迎です。

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

c - Base64 から GMP 整数への変換

Base64 (64 ビット エンコード) 文字列を取得するシナリオがあります。私の要件は、この文字列を gmp 整数 (mpz_t) に変換することです。

ただし、GMPマニュアルによると、関数 mpz_set_str() の「基数は2から62まで異なる場合があります」のみです。

変換を成功させるために従うことができるアプローチはありますか? 私が思いついたアイデアの 1 つは、Base64 をバイナリに変換してから、基数 2 の mpz_set_str を使用して mpz_t 変数を設定することでした。

助けていただければ幸いです。ありがとう。

0 投票する
4 に答える
2628 参照

gcc - MPFR を取得して cygwin 上に構築する

に従ってGCCをセットアップするのに一日を費やしました

http://cygwin.wikia.com/wiki/How_to_install_GCC_4.3.0

gcc の make ステップで、なんらかの理由で続行するには C++ コンパイラが必要だと言われたので、通常の方法で Cygwin を更新し、gcc-c++ を入手しました。

その後、cgywin は以前にインストールした 3 つの prereq ライブラリを削除してくれました。

それで私はそれらを作り直すことにしました。GMP は正常に機能し、MPFR に到達しました。何らかの理由で MPFR がこのエラーをスローしています:

リソースは、このエラーについてここで言及しています

cygcheck は問題なく GMP を見つけていると確信しており、config にも GMP が見つかったと記載されています。

私がしようとすると:

それはスローします:

これまでのところ、グーグルで何時間も試してみましたが、MPFR を機能させることができませんでした。

MPC も通常の方法で GMP を見つけることができません。

また、サブディレクトリでライブラリをGCCに渡してコンパイルさせてみました。

私がそれを試みると、makeステップに到達し、stage1-bubbleエラーをスローして失敗します。エラーの説明などはありません。

他に何を試すべきかわかりません。

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

qt4 - GMP/MPIR 番号を QList に保存する

QT4.7 と MPIR ライブラリ (v. 2.3.1) を使用して C++ でプログラムを作成しようとしています。いくつかの計算中に、動的な量の mpz_t (整数ストレージ タイプ) を格納する必要があり、そのために QList または QVarLengthArray を使用したいと考えています。私はそれを行う方法に関する基本的なテストを正常にセットアップしましたが、これは非常に見苦しく、明らかに間違っているように見えるので、これを行うためのより良い方法を求めたいと思います.

私のサンプルプログラム:

(Windows 7/MSVC2010 SP1/QT4.7.3/MPIR2.3.1 でコンパイル) 出力は正しいですが、mpz_t を格納する有効な方法または安全な方法でさえあるとは思えません。

これを達成する方法を教えてください:)

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

c++ - GMP数学ライブラリのインストール

Windows のコードブロックで GMP を使用するにはどうすればよいですか? 私はインターネット全体を見てきましたが、その方法に関する指示は見つかりませんでした。

  • 私が見つけたすべての指示は VC++ 用であり、完全に古くなっています。
  • readme の手順はすべて Linux 用であるため、私には役に立ちません。Windows は.autoconfigファイルを実行する方法を知りませんし、私も知りません。
  • gmp フォルダー自体でない限り、コンパイラーの検索ディレクトリーに追加するフォルダーはありません。どこにもlibまたはincludesフォルダーがありません

  • また、ダウンロードした tar.gz または tar.bz のどこにも「gmp.h」ファイルがないため、プログラムに含める方法がわかりません。

私は何をしますか?

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

c - gmp整数への文字列入力の最大長?

暗号化機能を実装しようとしています。文字列入力の長さが 10000 バイトであることが要件です。したがって、gmp 変数 (mpz_t) と一緒に使用するには、この文字列入力を mpz_t 変数に変換する必要があります。

gmp (BigInteger) ライブラリのマニュアルには、これについて何も書かれていません: mpz_t 変数に変換できる文字列の最大長は?

mpz_set_str() 関数は、私が遭遇した唯一のものでした。この問題に光を当てることができれば幸いです。

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

c - GMP ライブラリを含むファイルの実行中にエラーが発生しました

gmp ライブラリを何度もインストールし、いくつかのプログラムを実行しました。「成功した」コンパイルの後に最初のプログラムを実行するたびに、次のエラーが発生します。

膨大な量のネットを調べた後、この問題を正しく解決できませんでした。

PS: あるフォーラムでの 1 つの提案は、ライブラリ ファイルへのリンクを /usr/lib に作成することでした。しかし、同じスレッドでひどく非難されました。

最終的には、コードを実行したいと考えています。この問題の迅速な解決策をいただければ幸いです。

ありがとう!!

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

biginteger - GMP制限の大きな整数

大きな整数のGMPライブラリに問題があります。関数を使用して大きな整数を設定します

mpz_t num;

mpz_init(num);

mpz_set_str(num、 "123456789012345678901234567890123456789012345678901234567890123456789012341234567890123456789012345678901234567890123456789012345678901234567890123412345678901234567890123456789012345678901234567890123456"、10);

この数値gmp_printf( "%Zd"、num)を出力すると、結果が間違っています。制限はありますか?数が多すぎませんか?私は思わない...

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

c - mpz_tからunsignedlonglongへの変換(gmp lib)

Cでmpz_t変数をunsignedlonglongに変換する方法はありますか?ullからmpz_tへの逆の方法はどうですか?ullはC99の一部であるため、gmpライブラリはこれをサポートしていません。私はこれを見つけましが、それはc ++にあり、c++でコーディングする方法がわかりません。よろしくお願いします。

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

gnu - LDFLAGS へのパスを追加する方法

PBC (Pairing-based cryptography)というライブラリをセットアップしようとしています。そして、このライブラリにはGMP -(GNU Multiple-Precision Library)という別のライブラリが必要です。

私の問題は、GMP を正しくインストールした後、PBC で次のエラーが表示されることです。

gmp ライブラリが見つかりません そのパスを LDFLAGS に追加します

LDFLAGSが何で、どのようにパスに追加するのかわかりません。

PS: MinGW を使用しています。