問題タブ [boost-multi-array]

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 投票する
3 に答える
5172 参照

c++ - Boost.MultiArray の 1 行の初期化子

次のように初期化する n 次元の Boost.MultiArray があります。

したがって、MultiArray を取得するためのコードは 4 行ありますが、1 行で実行したいと考えています。sizeそれぞれの長さが n 次元の MultiArray を生成する簡単な方法はありますか(したがって、 と書くことができますarr(samevaluearray(n,size)))、または MultiArray の便利なコンストラクターを見逃していましたか?

編集: n の特定の値に依存せずに機能するはずです。つまり、 に対してarr({{size,size}}のみ機能しn=2ます。

明確ではない可能性があるためboost::multi_array<char,n>(boost::extents[4][4][4])、4x4x4 配列を正しく初期化しますがn、ソースコードが変更されるたびに、すべての初期化を手動で更新する必要があるため、オプションではありません。

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

c++ - std::vector の boost::multi_array .. をインスタンス化する cpp 教祖の頭脳を溶かす?

オブジェクトのインスタンス化と混同していると思います..まあ..newステートメントがコンパイルエラーになるため、適切にオブジェクト化されていません。私のバックグラウンドは Python と Java であり、クラスではないオブジェクトを作成する C++ の方法の前で立ち往生しています。

私は C# から機械学習用のアルゴリズムを翻訳しており、多次元配列の配列を使用しています。

C# コード:

多次元配列に Boost ライブラリを使用することにしました。

そして、私はこの実行時エラーを受け取ります:

HMM::learn >>
std::bad_alloc の前に' what(): std::bad_alloc

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

c++ - Boost::multi_arrayループ

関数を使用してゼロベースではない配列をループする方法を取り上げたこの投稿を見てきましたがboost::multi_array::origin()、それは単一のループしか作成しません。

multi_arrayたとえば、の各次元をどのようにトラバースしますか。

上限と下限の両方が不明な配列が与えられた場合はどうなりますか?

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

c++ - multi_array の size_type と index の符号付き/符号なし比較のブースト

私は a を使用してboost::multi_arrayおり、特定の座標が範囲内にあるかどうかを確認する必要がある場合は、次のようにします。

は次のようにTileArray3D定義されます。

そしてTileID次のとおりです。

GetWidth/Height/depth のシグネチャは次のとおりです。

しかしTileArray3D::size_type、署名されておらず、TileArray3D::index署名されています。これらの型を間違った方法で使用していますか? または、これを回避する方法はありますか?を にキャストする必要がありindexますsize_typeか? または問題が発生する可能性がありますか?

前もってありがとう、エル。

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

c++ - マルチアレイ次元のブースト

ユーザーからの入力に基づいて実行時に次元が設定される Boost マルチアレイがあります。

x,y,zコンポーネントを介してその配列を反復処理したいと思います。

これが std::vector の場合、次を使用します。

または、ある種のイテレータかもしれません。

マルチアレイの次元の数値を取得するにはどうすればよいですか?

マルチアレイを反復処理するにはどうすればよいですか?

ありがとう!

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

c++ - Boost.MultiArrayの2Dビューを引数として関数に取り込む方法は?

の3D配列がありdoubleます。2Dスライスを印刷するためのシンプルでジェネリックな関数を書きたいです。

コード:

GCCでは、これによりエラーメッセージが生成されます。

なぜエラーですか?

なぜそう思われないMのですboost::multi_array_ref<double, 3u>か?

動作するプロトタイプを作成するにはどうすればよいですか?

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

c++ - const boost::multi_arrayから特定の要素を取得する方法

const boost::multi_arrayオブジェクトから要素を読み取る方法を知りたいです。実際、私の知る限り、演算子[]は割り当てにも使用されるため、使用できません。

私は3D次元配列を持っています。では、myArrayがconstの場合、どのようにして要素myArray [i][j][k]を取得するのでしょうか。

前もって感謝します。

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

c++ - boost multi_array resize が VS2008 でコンパイルされない

この最小限のコードは、VS2008 およびブースト 1.49 ではコンパイルできません。

この回答を見ましたが、役に立たないようです。どんな援助にも感謝します。

非常に詳細なエラー メッセージを以下に示します。

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

c++ - boost::multi_array でストライドをバイト単位で表現する

short として読み取られた 2 次元のネイティブ C 配列があり、boost::multi_array_refその一部に a をマップしたいのですが、これを float として表現します。ストライドを (データ サイズの倍数ではなく) バイト単位で設定する方法はありますか?

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

c++ - 変数によってboost::MultiArrayからNxMサブマトリックスを選択する

複数の NxM マトリックスがあり、そのうちの 1 つを変数で選択したいと考えています。私の最善の推測は、使用boost::MultiArrayして NxMxP マトリックスを作成し、3 番目の次元で選択することでした。

array_view を使用して実装しました。

残念ながら、このマトリックスを使用してコードを続行したいのですが、boost::matrix方法がわかりません。キャストのようなことはできますか?

それとも、multi_array がなくても可能ですか? 他の方法で変数を介してマトリックスを選択できますか?