問題タブ [blitz++]

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 に答える
284 参照

c++ - マップのキーとしての Blitz++ 配列

一般に、他の形式の配列よりも高いパフォーマンスを提供することを理解しているため、blitz++ 配列を使用しようとしています。blitz++ 配列をマップのキーとして使用することは可能ですか? しようとしている

コンパイルしません。エラーは次のとおりです。

/usr/include/c++/4.6/string:50:0 からインクルードされたファイルで、

/usr/include/c++/4.6/bits/stl_function.h: メンバー関数内 'bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = blitz::Array]' :

/usr/include/c++/4.6/bits/stl_function.h:236:22: エラー: 変換できません 'blitz::BzBinaryExprResult, blitz::Array >::T_result {aka blitz::_bz_ArrayExpr, blitz::FastArrayIterator, blitz ::Less > >}' を 'bool' に変換

これは演算子の定義を要求する問題<ですか? もしそうなら、自分で定義できますか?

答え

Jimmy Thompson が提案したように、考えられる解決策は次のように定義することです。

それで

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

c++ - ブリッツ++ 0.10のステンシル

Blitz++ User Guide のステンシル オブジェクトを使用しようとしています。

しかし、コンパイル後にこのエラーが発生しました

他の配列操作 (乗算、場所など) は機能しています。誰が私が間違っているのか説明できますか?

UPD

ヘッダーを見逃しているようですがblitz/array/stencil-et.h( example にありますstencil2.cpp)、別のエラーがあります

何か案は?

エラー メッセージを含むコードの完全な例へのリンクhttps://gist.github.com/erthalion/8784150

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

c++ - restrict キーワードを使用して、関数の「型修飾子」警告を取り除きます

次の形式の Blitz++ をコンパイルするときに表示される警告をクリーンアップしようとしています。

TinyVectorこのような(クラスの)メンバー関数から

私が知る限り、restrictキーワードが原因で警告が表示されます。注:restrict__restrict__(g++ が理解する) に置き換えるマクロがあります。

キーワードを削除することで、警告を取り除くことができます。ただし、これは高性能の数値ライブラリであると想定されているため、restrictキーワードが許可するコンパイラの最適化を失いたくありません。

restrictを完全に削除せずにこれらの警告を抑制するにはどうすればよい-Wallですか?

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

c++ - Blitz-0.10 ライブラリのビルド方法は?

vs2012 でblitz++ 0.10ライブラリを使用する必要があります。残念ながら、私は c++ を初めて使用するので、このライブラリをどのように構築すればよいかを知るのに十分な経験がありません。

これまで、私はCMakeを使用してライブラリ (VTK など) を構築してきました。しかし、ブリッツの場合、「 CMakeLists.txt 」ファイルがない理由については、どうすればよいかわかりません。

誰かがこのように(一歩一歩)私を助けることができるかどうか疑問に思っていました。(ウィン7、64ビット、VS2012 )

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

c++ - プロシージャの入力/出力パラメーターとして Blitz++ サブ配列を渡す方法

入力パラメータとして 2 つの tensor を取り、結果を別の tensor に生成するFFTfftconvxプロシージャがあります。すべてのテンソルは Blitz++ arrays として定義されます。ここで、は配列のランクです。プロシージャは、二重ループ内で複数回呼び出す必要があります。TtnsrSGArray<complex<double>, N>Nfftconvx

理想的には、サブ配列を渡すStnsr(ri,rj,rk,0)Stnsr(ri,rj,rk,1)、結果をサブ配列に受け取るGtnsr(t,p,ri,rj,rk,0)Gtnsr(t,p,ri,rj,rk,1)、次のようにします。

変数ri,rj,rkは Blitz++ 配列範囲です。残念ながら、これは機能せず、次のコンパイル エラーが発生します。

の署名fftconvxは次のとおりです。

入力パラメーターとして渡される配列と変数は他にもありますが、簡潔にするために省略します。

Sこれまでのところ、一時的な配列とに基づくソリューションを考え出しましたG:

もっとエレガントな解決策があると思います。

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

c++ - ブリッツは vs 2013 では機能しません

私はvs 2010で書いたプロジェクトを持っています。このプロジェクトではblitzが使用されています。しかし、2013年にこのプロジェクトを開いて実行しようとしたとき。いくつかのエラーは言う:

エラー C2955: 'std::rank': クラス テンプレートの使用にはテンプレート引数リストが必要です ~~\blitz\indexexpr.h 69 1 MOM

したがって、indexexpr.hに表示されます

どうすれば解決できますか?インターネットから同様のエラーが表示されます。しかし、それらのエラーは slice.h に表示されます。

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

c++ - C++ ランダム値と Blitz++

以下のコードは、コンパイルして実行しています。コードはブリッツ マトリックスをランダムな値に初期化する必要がありますが、マトリックスのすべての要素が同じ値になるため失敗します。

出力は私が望んでいたものではありません

Blitz-Matrix をランダムな値に初期化する適切な方法は何ですか?