A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
MinGWとしてコンパイルしてもよいのであれば、-mno-cygwinオプションを付ければ、<complex>が使えるようになります。
-mno-cygwinオプション無しでも、double _Complex型などは使えますが、対応するライブラリがありません。また、Iマクロも_Complex_Iマクロも定義されていないので、自分で用意する必要があります。また、creal関数やcimag関数も自作が必要です。その部分だけ何とかすれば、四則演算程度であれば十分でしょう。
ちなみに、GCCはC99に対応する前から複素数型をサポートしています。
参考URL:http://www.sra.co.jp/wingnut/gcc/gcc-j.html#Comp …
ありがとうございます。
MinGWとしてコンパイルして、うまく使うことが出来ました。
関数の自作やライブラリについては、何とかして用意してみたいと思います。
No.2
- 回答日時:
cygwin のgcc (3.4.x)でもオプション指定によってC99対応コンパイラとして使うことはできます。
しかし、ライブラリが対応していないので素のままのcygwinでは複素数を使うことはできません。
GNU/Linux上のgccならば使用しているライブラリ(glibc)が複素数に対応したものになっているので、
1) VMwareやVirtual PC等の仮想化ソフトを導入し、その上にGNU/Linuxをインストールしてその環境でビルドする
2) glibcやFreeBSDのライブラリはソースが公開されているので、自分で必要部分をポートする
http://www.jp.freebsd.org/cgi/cvsweb.cgi/src/inc …
http://sources.redhat.com/cgi-bin/cvsweb.cgi/lib …
3) インターネットを検索すると複素数計算用のライブラリが公開されていたりするのでそれを使う
といった選択肢から選ぶことになると思います。
ありがとうございます。
教えて頂いたサイトからライブラリのソースを手に入れて設定してみました。とりあえず簡単な複素数値を扱うことは可能になりました。
引き続き試してみたいと思います。
No.1
- 回答日時:
複素数型が使いたいがため"だけ"なら、C++コンパイラを(Cコンパイラとして)使うという選択もあるやもしれません。
--- complex_test.cpp ---
#include <cstdio>
#include <complex>
using namespace std;
int main() {
complex<double> x(1,2);
complex<double> y(3,4);
complex<double> z = x * y;
printf("z=(%f,%f)\n", z.real(), z.imag());
}
ありがとうございます。
目的は、複素数が使いたいだけでした。
C++は全く知らなかったのですが、複素数が扱えるということですので、勉強してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 複素関数にロピタルの定理を使おうとしている回答者は、複素関数論はおろか微積分学もよく分かっていない、 5 2022/12/28 18:02
- 数学 x^p-1=(x-1)(x-ζ)(x-ζ^2)・・・(x-ζ^p-1)と複素数の中で因数分解できる理 1 2022/11/23 14:59
- Gmail おすすめメーラー 1 2022/11/23 20:25
- 医療事務・調剤薬局事務 どちらの薬局の方が安いか、判定お願いします 1 2022/09/22 17:26
- ソフトウェア 社内でのETCカードの管理方法で良い案があれば教えて下さい 社用でリース車等を使用してETCカードを 1 2023/01/17 13:37
- 高校 述語論理の基本的な質問 3 2022/04/23 10:35
- Ruby WIN11にオフイスを複数入れることは可能でしょうか 4 2023/04/04 21:05
- Chrome(クローム) 以前のPCで使っていた、Googleの複数のアカウントが使えなくて困っています。 2 2022/04/27 15:08
- CAD・DTP InDesignCS6をCCにアップデートすべきか 2 2023/01/08 03:17
- 数学 有限生成環から体へのC代数準同型写像についての質問 1 2023/03/08 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
unsigned long long 型のフォー...
-
ソフトの開発言語を調べる方法
-
C言語 キーワードとは??
-
C++Builder → Visual C++ 移植...
-
printfなど、標準関数のソース...
-
long long型について
-
ALGOL・PL/Iのフリーのコンパイ...
-
C++でデスクトップGUIアプリ開...
-
昔のgraph.hというファイル
-
PICプログラミング
-
COBOLのALPHABET...
-
アセンブリ言語から何がわかる...
-
パーサとコンパイラの違いって?
-
未使用引数の注意文出力を回避...
-
【COBOL】 END STATUSについて
-
Eclipseのプラグイン
-
double型とは
-
COBOL計算式の中間ワーク桁数に...
-
リリースモードとデバッグモー...
-
VisualC++6.0でのProfessionalE...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
unsigned long long 型のフォー...
-
ソフトの開発言語を調べる方法
-
C++でデスクトップGUIアプリ開...
-
組み込みソフト。ROM領域にデータ
-
cc と gcc の違い
-
C++Builder → Visual C++ 移植...
-
printfなど、標準関数のソース...
-
COBOLのALPHABET...
-
COBOLの論理演算子について質問...
-
Visual Studio でmakefileを使...
-
cobolで実行環境って何ですか?
-
パーサとコンパイラの違いって?
-
昔のgraph.hというファイル
-
未使用引数の注意文出力を回避...
-
C言語でのコンパイラの作成方法
-
C言語はC言語でできている?
-
COBOL計算式の中間ワーク桁数に...
-
リリースモードとデバッグモー...
-
POWERCOBOLのSQL...
-
Σの計算について
おすすめ情報