home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1773 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  1.7 KB  |  38 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from Scientific.Physics.PhysicalQuantities import PhysicalQuantity
  5. import math
  6.  
  7. class PhysicalQuantityFunction:
  8.     
  9.     def __init__(self, name):
  10.         self.name = name
  11.  
  12.     
  13.     def __call__(self, x):
  14.         if isinstance(x, PhysicalQuantity):
  15.             return PhysicalQuantity.__dict__[self.name](x)
  16.         return math.__dict__[self.name](x)
  17.  
  18.  
  19.  
  20. class PhysicalQuantityInteractive(PhysicalQuantity):
  21.     b = PhysicalQuantity.inBaseUnits
  22.     u = PhysicalQuantity.inUnitsOf
  23.     
  24.     def __str__(self):
  25.         return PhysicalQuantity.__repr__(self)
  26.  
  27.     
  28.     def __repr__(self):
  29.         value = '%.4G' % self.value
  30.         units = self.unit.name().replace('**', '^')
  31.         return value + ' ' + units
  32.  
  33.  
  34. sin = PhysicalQuantityFunction('sin')
  35. cos = PhysicalQuantityFunction('cos')
  36. tan = PhysicalQuantityFunction('tan')
  37. sqrt = PhysicalQuantityFunction('sqrt')
  38.