Я пытаюсь использовать boost :: units в моем коде, чтобы определить тип RoundsPerMinute. Однако я не совсем понимаю, как это сделать.
Я определил минуту через
using boost::units::si::seconds;
typedef boost::units::make_scaled_unit < boost::units::si::time, boost::units::scale<60, boost::units::static_rational<1> > >::type minute;
BOOST_UNITS_STATIC_CONSTANT(minutes, minute);
typedef boost::units::quantity<minute, float> Minute;
и теперь может сделать, например,
Minute m = 5*minutes;
То, что я сейчас хотел бы сделать, это что-то вроде
RoundsPerMinute rpm1 = 50 * rpm;
RoundsPerMinute rpm2 = 100 / (2*minutes);
Minute m = 1/rpm2; // how many minutes does it take for one round?
но я не уверен, как определить эти типы — честно говоря, вся документация поддержки слишком техническая для меня, чтобы понять 🙁 Если бы кто-нибудь мог помочь мне с определениями, это было бы здорово.
Один об / мин — всего 1/60 герц — см. boost::units::si::hertz
,
Других решений пока нет …