コード例 #1
0
    def test_volts(self):
        from pint.util import infer_base_unit

        r = Q(1, "V") * Q(1, "mV") / Q(1, "kV")
        b = infer_base_unit(r)
        self.assertEqual(b, Q(1, "V").units)
        self.assertQuantityAlmostEqual(r, Q(1, "uV"))
コード例 #2
0
    def test_volts(self):
        from pint.util import infer_base_unit

        r = Q(1, "V") * Q(1, "mV") / Q(1, "kV")
        b = infer_base_unit(r)
        assert b == Q(1, "V").units
        helpers.assert_quantity_almost_equal(r, Q(1, "uV"))
コード例 #3
0
ファイル: quantity.py プロジェクト: pyIonControl/IonControl
def _simplify_units(units):
    units = infer_base_unit(units)
    weight = units_weight(units)
    found_simplification = True
    while weight > 1 and found_simplification:
        found_simplification = False
        for s in simplifications:
            test_units = units * s
            test_weight = units_weight(test_units)
            if test_weight < weight:
                units, weight, found_simplification = test_units, test_weight, True
            else:
                test_units = units / s
                test_weight = units_weight(test_units)
                if test_weight < weight:
                    units, weight, found_simplification = test_units, test_weight, True
    return units
コード例 #4
0
ファイル: spyrelet.py プロジェクト: aidanj5/nspyre
    def acquire(self, row):
        # Cleanup row
        # Here we will keep numpy arrays as is for local copy, but change it to list for MongoDB
        if not row is None:
            restore_row = dict()
            for k, val in row.items():
                if type(val) == Q_:
                    base_unit = '*'.join('{} ** {}'.format(u, p) for u, p in infer_base_unit(val).items())
                    row[k] = row[k].to(Q_(base_unit)).m
                if type(val) == np.ndarray:
                    restore_row[k] = row[k]
                    row[k] = row[k].tolist()
                if type(val) in self.CASTING_DICT:
                    row[k] = self.CASTING_DICT[type(val)](row[k])

            self.col.insert_one(row)

            for k, val in restore_row.items():
                row[k] = val
            self._data.append(row)
        if self._stop_flag:
            raise StopRunning
コード例 #5
0
 def __init__(self, parent=None, value=1.0, unit=None, **kwargs):
     self.unit = unit
     self.base_unit = None
     kwargs['dec'] = kwargs.pop('dec', True)
     kwargs['minStep'] = kwargs.pop('minStep', 0.1)
     kwargs['decimals'] = kwargs.pop('decimals', 8)
     kwargs['compactHeight'] = False
     if self.unit is not None:
         q = Q_(unit)
         base_units = infer_base_unit(q)
         base_unit = '*'.join('{} ** {}'.format(u, p)
                              for u, p in base_units.items())
         base_unit = base_unit if not base_unit == '' else 'dimensionless'
         q_base = Q_(base_unit)
         factor = (q / q_base).to_base_units().m
         self.base_unit = base_unit
         opts = {
             'suffix': '{0.units:~}'.format(q_base),
             'siPrefix': True,
         }
         kwargs.update(opts)
         value *= factor
     super().__init__(parent=parent, value=value, **kwargs)
     return
コード例 #6
0
    def test_infer_base_unit(self):
        from pint.util import infer_base_unit

        self.assertEqual(infer_base_unit(Q(1, "millimeter * nanometer")),
                         Q(1, "meter**2").units)
コード例 #7
0
 def test_units_adding_to_zero(self):
     self.assertEqual(infer_base_unit(Q(1, "m * mm / m / um * s")),
                      Q(1, "s").units)
コード例 #8
0
 def test_infer_base_unit(self):
     from pint.util import infer_base_unit
     self.assertEqual(infer_base_unit(Q(1, 'millimeter / second')),
                      Q(1, 'meter / second').units)
     self.assertEqual(infer_base_unit(Q(1, 'millimeter * nanometer')),
                      Q(1, 'meter**2').units)
コード例 #9
0
 def test_volts(self):
     from pint.util import infer_base_unit
     r = Q(1, 'V') * Q(1, 'mV') / Q(1, 'kV')
     b = infer_base_unit(r)
     self.assertEqual(b, Q(1, 'V').units)
     self.assertQuantityAlmostEqual(r, Q(1, 'uV'))
コード例 #10
0
ファイル: test_infer_base_unit.py プロジェクト: alexbodn/pint
 def test_volts(self):
     from pint.util import infer_base_unit
     r = Q(1, 'V') * Q(1, 'mV') / Q(1, 'kV')
     b = infer_base_unit(r)
     self.assertEqual(b, Q(1, 'V').units)
     self.assertQuantityAlmostEqual(r, Q(1, 'uV'))
コード例 #11
0
ファイル: test_infer_base_unit.py プロジェクト: alexbodn/pint
 def test_units_adding_to_zero(self):
     self.assertEqual(infer_base_unit(Q(1, 'm * mm / m / um * s')), Q(1, 's').units)
コード例 #12
0
ファイル: test_infer_base_unit.py プロジェクト: alexbodn/pint
 def test_infer_base_unit(self):
     from pint.util import infer_base_unit
     self.assertEqual(infer_base_unit(Q(1, 'millimeter * nanometer')), Q(1, 'meter**2').units)
コード例 #13
0
    def test_infer_base_unit(self):
        from pint.util import infer_base_unit

        assert infer_base_unit(Q(1, "millimeter * nanometer")) == Q(1, "meter**2").units
コード例 #14
0
 def test_units_adding_to_zero(self):
     assert infer_base_unit(Q(1, "m * mm / m / um * s")) == Q(1, "s").units