QString get_pressure_string(pressure_t pressure, bool showunit) { if (prefs.units.pressure == units::BAR) { double bar = pressure.mbar / 1000.0; return QString("%1%2").arg(bar, 0, 'f', 1).arg(showunit ? _("bar") : ""); } else { double psi = mbar_to_PSI(pressure.mbar); return QString("%1%2").arg(psi, 0, 'f', 0).arg(showunit ? _("psi") : ""); } }
/* we want bar - so let's not use our unit functions */ static int convert_pressure(int mbar, double *p) { int decimals = 1; double pressure; if (output_units.pressure == PSI) { pressure = mbar_to_PSI(mbar); decimals = 0; } else { pressure = mbar / 1000.0; } *p = pressure; return decimals; }
static void convert_volume_pressure(int ml, int mbar, double *v, double *p) { double volume, pressure; volume = ml / 1000.0; if (mbar) { if (output_units.volume == CUFT) { volume = ml_to_cuft(ml); volume *= bar_to_atm(mbar / 1000.0); } if (output_units.pressure == PSI) { pressure = mbar_to_PSI(mbar); } else pressure = mbar / 1000.0; } *v = volume; *p = pressure; }
void TestUnitConversion::testUnitConversions() { QCOMPARE(IS_FP_SAME(grams_to_lbs(1000), 2.204586), true); QCOMPARE(lbs_to_grams(1), 454); QCOMPARE(IS_FP_SAME(ml_to_cuft(1000), 0.0353147), true); QCOMPARE(IS_FP_SAME(cuft_to_l(1), 28.316847), true); QCOMPARE(IS_FP_SAME(mm_to_feet(1000), 3.280840), true); QCOMPARE(feet_to_mm(1), (long unsigned int) 305); QCOMPARE(to_feet((depth_t){ 1000 }), 3); QCOMPARE(IS_FP_SAME(mkelvin_to_C(647000), 373.85), true); QCOMPARE(IS_FP_SAME(mkelvin_to_F(647000), 704.93), true); QCOMPARE(F_to_mkelvin(704.93), (unsigned long)647000); QCOMPARE(C_to_mkelvin(373.85), (unsigned long)647000); QCOMPARE(IS_FP_SAME(psi_to_bar(14.6959488), 1.01325), true); QCOMPARE(psi_to_mbar(14.6959488), (long)1013); QCOMPARE(to_PSI((pressure_t){ 1013 }), (int)15); QCOMPARE(IS_FP_SAME(bar_to_atm(1.013), 1.0), true); QCOMPARE(IS_FP_SAME(mbar_to_atm(1013), 1.0), true); QCOMPARE(mbar_to_PSI(1013), (int)15); get_units(); }
int get_pressure_units(unsigned int mb, const char **units) { int pressure; const char* unit; switch (output_units.pressure) { case PASCAL: pressure = mb * 100; unit = _("pascal"); break; case BAR: pressure = (mb + 500) / 1000; unit = _("bar"); break; case PSI: pressure = mbar_to_PSI(mb); unit = _("psi"); break; } if (units) *units = unit; return pressure; }
int get_pressure_units(unsigned int mb, const char **units) { int pressure; const char* unit; struct units *units_p = get_units(); switch (units_p->pressure) { case PASCAL: pressure = mb * 100; unit = translate("gettextFromC","pascal"); break; case BAR: pressure = (mb + 500) / 1000; unit = translate("gettextFromC","bar"); break; case PSI: pressure = mbar_to_PSI(mb); unit = translate("gettextFromC","psi"); break; } if (units) *units = unit; return pressure; }