問題タブ [boost-units]

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

c++ - ブーストクロノで時刻をフォーマット

単位を印刷せずに時間だけを取得する方法はあるのだろうか:

出力は次のとおりです。

のみ取得したい

解決策はありますか?

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

c++ - ブーストユニットでブーストテストを使用するにはどうすればよいですか

私はこれが適切にコンパイルされることを期待していました:

残念ながら、これにより GCC で数百行のエラーが発生します。

もちろん、代わりにこれを行うこともできます。

しかし、他の誰かが のユニット タイプを変更することを決定した場合に備えて、テスト ケースでユニットを明示的に保持したいと思いますq1

単位を明示的に保つ方法はありますか?

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

c++ - odeint インテグレータへの実行時パラメータの受け渡し

odeint ブースト インテグレータを使用して、カー時空の測地線を調べたいと思います。これには、さまざまなパラメーター値に対して積分器を実行する必要があります (初期条件と初期運動量ベクトルがあるため、システムの角運動量は開始方法によって異なります)。

ここに配置された優れた例に従っています

http://headmyshoulder.github.io/odeint-v2/examples.html

具体的には、ローレンツ アトラクタの例です。

私が最初に注意したこと (ローレンツではなく、私のカー システムで) は、いくつかの初期条件で t=0 の時点の後に NaN が得られることです (ただし、これはどこかでより深いエラーを示唆していることは間違いありません)。これをさらに調査するために、毎回再コンパイルすることなくシステムのパラメーターを変更できるようにしたいと考えています。これは、たとえば R や sigma を再コンパイルせずに変更したい場合と同じです。私が知る限り、おそらくここの2番目のコードブロックを除いて、追加の引数を統合関数に渡す直接的な方法はありません

http://headmyshoulder.github.io/odeint-v2/doc/boost_numeric_odeint/tutorial/harmonic_oscillator.html

私は C++ の知識が不足しているため、よくわかりません。

実行時の引数を取得してこのソルバーに渡す方法についての知識をいただければ幸いです。これにより、毎回コンパイルせずに一連のバッチを実行できます。

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

c++ - 分と秒を追加します。時間で表示

29 分 60 秒を追加して、結果を時間で表示したいとします。

動作するように見えるものは次のとおりです。

コンソールに次のように表示されます。

これは推奨されるアプローチですか?より良い、またはより慣用的な方法はありますか?

上記の例を示すプログラム全体を以下に示します。

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

c++ - エラー C2039:'serialize':'boost::units::quantity のメンバーではありません'

タイプ electric_potential および double でマップをシリアル化するにはどうすればよいですか?? 私のコードでは、これらのヘッダーを入れました:

すべてのヘッダーを試しましたが、まだこのエラーがあります:

これを解決する最も簡単な方法を探しています。この写真のおかげ で、タイプelectric_potentialを使用するときのコード

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

c++ - boost::units::quantity を指定した boost::lexical_cast がコンパイルされなくなった

boost_program_options を介して得られた値を解析して boost::units の量を計算するコードに問題があります。以前は問題なく機能していましたが、新しいセットアップでは機能しなくなりました。不明瞭なエラー メッセージは、program_options で使用されているように見える boost::lexical_cast の問題を示唆しています。

最小限の例 (すべてのプログラム オプションを削除したもの) は次のとおりです。

これは私の古いセットアップ (gcc 4.7.2、ブースト 1.49) ではエラーなしでコンパイルされますが、ブースト 1.55 を使用した gcc 4.9.2 ではコンパイルされなくなりました (ちなみに、コンパイルしても例外がスローされるという事実は無視してください)。どちらの場合も、ストリームから実際に読み取られるものは何もないためです (解析ロジック全体を含めて、この投稿を難読化したくありませんでした)。代わりに、エラーメッセージが表示されます

レキシカル キャストで別のカスタム タイプ (boost::units::quantity ではない) を使用して >> 演算子をオーバーロードするか、文字列ストリームから数量を直接読み取ろうとすると、すべて正常に動作します。

誰かが私がここで間違っていることを教えてもらえますか?