問題タブ [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 に答える
108 参照

c++ - 双方向変換は設計によるものですか、それともバグですか?

コードは、2 番目の変換係数が定義されているかどうかに応じて、4またはのいずれかを出力します。0.666667これは設計によるものですか?異なる変換係数を必要とする物理学の単位は 2 つとありませんね。

0 投票する
3 に答える
3037 参照

c++ - ブースト::units::quantityを2倍にするキャスト

評価のために、数量の値をライブラリに渡す必要があります。ブーストユニットライブラリはSIで2倍の値を取るため、ブーストユニットライブラリはその要件を確実にする上で非常に魅力的です。ただし、数量をdouble値にキャストするにはどうすればよいですか?ドキュメントと例は、当然のことながらユニットを維持することを目的としているため、これを回避しているようです。

何かのようなもの:

ヘッダーを確認すると、次のようになります...基本タイプにキャストする正しい方法ですか?

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

c++ - boost::units::quantity 値で printf を使用する

boost::units ライブラリは、数量値をストリームに書き込む優れた方法を提供します。例を参照してください

出力ストリームを使用する代わりに、数量値で printf を使用できますか? printf を使用して出力を適切にフォーマットしたかなりの量のコードがあり、フォーマットを維持したいと考えています。数量を say に渡す

警告をスローします

警告: フォーマット '%e' はタイプ 'double' の引数を想定していますが、引数 2 のタイプは 'boost::units::quantity<boost::units::unit<boost::units::list<boost::units: :dim<boost::units::length_base_dimension, boost::units::static_rational<-0x00000000000000003l> >, boost::units::list<boost::units::dim<boost::units::mass_base_dimension, boost: :units::static_rational<1l> >, boost::units::dimensionless_type> >, boost::units::homogeneous_system<boost::units::list<boost::units::si::meter_base_unit, boost:: units::list<boost::units::scaled_base_unit<boost::units::cgs::gram_base_unit, boost::units::scale<10l, boost::units::static_rational<3l> > >, boost:: units::list<boost::units::si::second_base_unit, boost::units::list<boost::units::si::ampere_base_unit, boost::units::list<boost::units::si::kelvin_base_unit, boost::units::list<boost::units::si::mole_base_unit, boost::units::list<boost::units::si::candela_base_unit , boost::units::list<boost::units::angle::radian_base_unit, boost::units::list<boost::units::angle::steradian_base_unit, boost::units::dimensionless_type> > > > > > > > > > > >' [-Wformat]

代わりに rho.value() を使用することもできますが、可能であれば単位を出力したいと思います (フォーマット文字列を更新したとしても)。

答えはここにあると思いますhttp://www.boost.org/doc/libs/1_52_0/doc/html/boost_units/Reference.html#header.boost.units.io_hpp

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

c++ - タイプ boost::units::derived_dimension を Eclipse CDT で解決できませんでした

以下のヘッダーで、新しい派生ディメンション タイプの specific_entropy_dimension と単位の specific_entropy を定義しました。これは g++ を使用して警告なしで問題なくコンパイルされますが、Eclipse CDT のインデクサーは次のエラーで型を解決できません。

タイプ「派生ディメンション < 長さベースのディメンション、2、時間ベースのディメンション、-2、温度ベースのディメンション、-1 >::タイプ」を解決できませんでした

私のコードの唯一のエラーであり、「クリーンな」分析ができるようにこれを解決したいと思います。CDT でこのタイプを解決するにはどうすればよいですか?

Units.h

私のヘッダーにはさらにいくつかの派生ディメンションが含まれていますが、これは問題を示しています。

0 投票する
3 に答える
3269 参照

c++ - Millimeters in boost::units

I want to use boost::units for some SI metrics. However our code mostly deals with millimeters and instead of using

#xA;

we would prefer something like

#xA;

However I am not sure how to define "millimeter" (without using #define).

Secondly, what is the overhead in using prefixed units?

Update: This needs to run without C++11 features (i.e. no UDL)

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

c++ - ブースト: rpm の typedef

タイプ RoundsPerMinute を定義するために、コードで boost::units を使用しようとしています。しかし、私はそれを行う方法を本当に理解していません。

私は分を定義しました

そして今、例えばすることができます

私が今やりたいことは、

しかし、これらのタイプを定義する方法がわかりません.率直に言って、ブーストのドキュメント全体は技術的すぎて理解できません.

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

c++ - std::chrono & Boost.Units

を活用したいソフトウェア設計に取り組んでいますBoost.Units。使用したい単位の中には時間を表すものもありstd::chronoますが、それらは標準であるため、それらには C++11 単位を使用する傾向があります。

Boost.Unitsとの間に明確な統合があるかどうか、chronoまたは型間でスカラー値をコピーするだけで独自のコンバーターを作成し、型の安全性を失うことに頼る必要があるかどうか疑問に思っています。

この問題のベスト プラクティスはありますか?